struts2文件上传
struts文件上传
简单的上传,jsp界面。我们这里是在上一次的基础上修改图片的路径的,jsp界面我们需要使用隐藏域穿值。
注意:我们的表单提交必须使用 enctype="multipart/form-data"
<form action="${pageContext.request.contextPath }/sy/clz_upload.action" method="post" enctype="multipart/form-data">
<input type="hidden" name="cid" value="${clz.cid }">
<input type="hidden" name="cname" value="${clz.cname }">
<input type="hidden" name="cteachar" value="${clz.cteachar }">
<!-- 注意:name对应的值 -->
<input type="file" name="file" value="${clz.pic }">
<input type="submit" value="提交">
</form>
定义Action
Action中的三个变量:
File file : 对于单文件上传类型,这个文件的名字必须是File类型的并且变量的名字要和前端表单的文件控件的name属性一致,会给这个变量赋值指向处于服务器上传文件临时目录中的那个文件。
fileContentType :文件的MIME类型,比如image/jpeg,application/octet-stream之类的。
fileFileName : 文件名,文件在上传之前在客户端的磁盘上存在就必然有一个名字,这里就是那个名字。
总结一下单文件上传:
1.表单的enctype="multipart/form-data"属性。
2.Action的三个成员变量file(文件本身),fileContentType(文件MIME类型),fileFileName(文件名)。
private File file;//与表单file控件的name一致,指向了服务器临时目录中的上传文件
private String fileContentType;//File变量的名+ContentType,表示文件的MIME类型
private String fileFileName;//File变量的名+FileName,表示文件上传之前的名称
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
public String getFileContentType() {
return fileContentType;
}
public void setFileContentType(String fileContentType) {
this.fileContentType = fileContentType;
}
public String getFileFileName() {
return fileFileName;
}
public void setFileFileName(String fileFileName) {
this.fileFileName = fileFileName;