使用Struts2上传文件和文字一起上传、把上传的URL保存到数据库中,文件内容保存到Upload文件目录小时要注意的几点:
一、上传表单?
表单属性 enctype = multipart/form-data 表单类型
表单属性 method = post 提交方式
输入属性 type = file 文件域
<form action="doUpload" method="post"
enctype="multipart/form-data">
请选择文件:<input type="file" name="upload" >
<input type="submit" value="上传文件" οnclick="doAjaxCall()">
<div id="result"></div>
</form>
二、Struts2中是使用FileUpload拦截器进行文件上传的
<interceptor-ref name="fileUpload">
<param name="maximumSize">1000000</param>
<param name="allowedExtensions">jpg,jpeg,gif,png</param><!-- 也可以使用allowedTypes来控制上传的文件类型 -->
</interceptor-ref>
<interceptor-ref name="defaultStack"/>
三、实现方法
private File upload;
private String uploadFileName;
private String uploadContentType;
String path = ServletActionContext .getServletContext().getRealPath("/upload/"+ this.getUploadFileName());
System.out.println("path:" + path);
FileInputStream is = new FileInputStream(upload);
FileOutputStream os = new FileOutputStream(path);
IOUtils.copy(is, os);
os.flush();
os.close();
is.close();
common.setPicture("http://125.40.77.234/app/upload/"
+ this.getUploadFileName());