一、springmvc中文件上传的操作步骤:
1、在springmvc的配置文件中配置 CommonsMutipartResolver,具体如下:
<!-- 上传图片转换器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置上传文件的最大尺寸为1MB -->
<property name="maxUploadSize" value="1048576"></property>
</bean>
2、引包,springmvc上传用到的是apache下的commons-fileupload.jar
3、表单
<form>表单的entype="multipart/form-data";
4、Controller
springmvc 通过MutipartFile来接收file 既参数 @RequestParam("file") MutipartFile file
可以使用FileUtils工具类直接copy文件
FileUtiles.copyInputStreamToFile(file.getInputStream(),new File(xxxxx));
二、struts2中文件的上传:
1、action中定义下面参数,提供get,set方法 //其中imageFileName,imageContentType是通过image,自动获取的
private File image; //上传的文件
private String imageFileName; //文件名称
private String imageContentType; //文件类型
String realpath = ServletActionContext.getServletContext().getRealPath("/images"); //获取真实保存路径
File savefile = new File(new File(realpath), imageFileName); //创建目标文件
FileUtils.copyFile(image, savefile);
2、struts.xml中的配置, 最主要的使用fileUpload拦截器
<action name="upload2" class="com.ljq.action.UploadAction2" method="execute">
<!-- 动态设置savePath的属性值 -->
<param name="savePath">/images</param>
<result name="success">/WEB-INF/page/message.jsp</result>
<result name="input">/upload/upload.jsp</result>
<interceptor-ref name="fileUpload">
<!-- 文件过滤 -->
<param name="allowedTypes">image/bmp,image/png,image/gif,image/jpeg</param>
<!-- 文件大小, 以字节为单位 -->
<param name="maximumSize">1025956</param>
</interceptor-ref>
<!-- 默认拦截器必须放在fileUpload之后,否则无效 -->
<interceptor-ref name="defaultStack" />
</action>
3、同样表单form中设置entype="mutipart/form-data"
struts2使用file来接收文件上传,springmvc使用mutipartfile来接收上传,servlet3.0用part来接收上传。
servlet要用@Multipart Config修饰