基于SpringMVC的文件上传
来源:互联网 发布:js 匿名函数 访问变量 编辑:程序博客网 时间:2024/04/24 02:45
文件上传就是把用户资源保存到服务器,供用户下次使用
使用SpringMVC上传文件挺容易
1.加入需要的文件上传的jar包(commons-fileupload-1.3.jar和commons-io-2.0.jar)只要版本不是特别低都可以
2.配置Spring-MVC.xml(具体其他参数自行google,这里只是限制了上传文件的大小10M)
<!-- 上传文件拦截,设置最大上传文件大小 10M=10*1024*1024(B)=10485760 bytes --><bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="maxUploadSize" value="10485760" /></bean>3.在控制层(controller)处理文件上传请求
/*文件表单*/@RequestMapping(value="uploadpicture",produces = "text/html;charset=UTF-8")@ResponseBodypublic String updatePic(@RequestParam("userpicture") MultipartFile[] files,User user){//1.调用服务层保存用户的图片到服务器//获取用户id:用来创建一个文件夹来保存用户文件String id=user.getUid()+"";//文件路径String basePath=session.getServletContext().getRealPath("/")+"upload/"+id+"/";//+file.getOriginalFilename();if(userService.saveFiles(files, basePath)){//2.把图片保存后的路径更新到用户的表user.setUpicture("");if(userService.updateUserBySelected(user)>0){return "success";}}return "{'fail':'文件保存出错'}";解释:uploadpicture是请求名称,produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;(我这里可以不写,但是没影响),ResponseBody指定响应的类型为xml或json.
这里使用MultipartFile[] files数组来接受上传的多文件,然后调用服务层来处理文件的保存。
public boolean saveFiles(MultipartFile[] files,String path) {if(files!=null && files.length>0){//文件不空切大于0个for(MultipartFile file:files){//循环添加文件名称并且保存文件到指定的路径boolean flag=saveFile(file,path+"/"+file.getOriginalFilename());if(!flag){//文件上传出错return false;}}return true;}return false;//files为空的}//保存单个文件到指定路径public boolean saveFile(MultipartFile file,String path){if(!file.isEmpty()){//如果文件不空try{File f=new File(path);if(!f.exists()){//文件目录不存在f.mkdirs();}file.transferTo(new File(path));System.out.println("保存路径为:"+path);return true;}catch(Exception e){e.printStackTrace();}}return false;}
具体有些细节,出现问题的时候就要找到问题。毕竟没有程序是零Bug的。
1 0
- 基于SpringMVC的文件上传
- 基于SpringMVC的上传文件
- 基于springmvc的文件上传及其讲解
- 基于springMVC的文件上传-图片
- 基于SpringMVC的文件上传和下载
- 基于springmvc的文件上传与下载
- SpringMVC的文件上传(基于原生Servlet的文件上传)
- SpringMVC经典系列-12基于SpringMVC的文件上传---【LinusZhu】
- ssm框架中基于springMVC进行的文件上传.
- springmvc的文件上传
- SpringMVC 的文件上传
- SpringMVC的文件上传
- SpringMVC的文件上传
- SpringMVC的文件上传
- springMVC的文件上传
- SpringMVC的文件上传
- springMVC的文件上传和基于ajax的文件上传(学习记录)
- 基于SpringMVC文件上传服务器端进度条实现
- 虚拟机重新安装COCOPODS
- Android开发-API指南-<compatible-screens>
- mysql之count,max,min,sum,avg,celing,floor
- stl hashmap与map hashmap与hashtable
- Java设计模式之观察者模式
- 基于SpringMVC的文件上传
- 内存的数据区域
- sql中的group by 和 having 用法解析
- 计算圆柱体的表面积
- Activity和layout的关系,activity的启动模式
- HDU 1285确定比赛名次
- 快速的制作一张简单报表
- CocoaPods 找不到头文件
- VS2008在调试时黄色箭头与实际代码行错位的解决办法