分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

ssm框架下文件上传

发布时间:2023-09-06 01:50责任编辑:熊小新关键词:文件上传

springmvc实现文件上传的步骤:

1.页面上,通过input来准备file组件,该标签,必须给定name属性值同时,要求form表单必须给定一个属性:enctype="multipart/form-data"2.在pom.xml文件中,添加文件上传的第三方工具:commons-fileupload-1.3.2.jarcommons-io-2.2.jar3.在app-springmvc.xml配置文件中,准备上传操作的对象:CommonsMultipartResolver在这个对象中,我们可以对文件大小,编码方式等进行设定4.在控制器中,通过@RequestParam MultipartFile pic这种方式,来接收页面传递的文件这里,参数的名字必须与页面上file组件的name属性值一致此时,在控制器中,已经能够正常地接收页面上传的文件了,下一步,只需要把接收的这个文件,保存到服务器的硬盘上即可
<!-- 2文件上传依赖 --> ???????<dependency> ???????????<groupId>commons-fileupload</groupId> ???????????<artifactId>commons-fileupload</artifactId> ???????????<version>1.3.2</version> ???????</dependency>
<!-- 3文件上传 --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" > ????????<property name="maxUploadSizePerFile" value="102400000" ></property> ????</bean>

控制器:

<!-- 4 控制器。。。文件上传 -->@RequestMapping(value="addFile",method=RequestMethod.POST) ???public String addFile(@RequestParam MultipartFile pic,HttpServletRequest request,Model model){ ???????String filename = pic.getOriginalFilename(); ???????System.out.println("接收到的文件的名字: "+filename); ???????String contentType = pic.getContentType(); ???????System.out.println("接收文件的类型: "+contentType); ???????InputStream iStream=null; ???????OutputStream oStream=null; ???????String realPath = request.getSession().getServletContext().getRealPath("/imgs"); ???????//得到一个随机的字符串 ???????String string = UUID.randomUUID().toString(); ???????String endname = filename.substring(filename.lastIndexOf("."), filename.length()); ???????????????/*try { ???????????is = pic.getInputStream(); ???????????os = new FileOutputStream(new File(realpath+"/"+uuid+endname)); ???????????//要把文件输出到硬盘上,第一种方式:自己写字节流 并通过边读边写操作完成输出 ???????????byte [] b = new byte[1024]; ???????????int len = is.read(b); ???????????while(len!=-1){ ???????????????os.write(b, 0, len); ???????????????len = is.read(b); ???????????} ???????????os.flush(); ???????????os.close(); ???????????is.close(); ???????} catch (IOException e) { ???????????e.printStackTrace(); ???????}*/ ???????????????????????//通过commons-io包提供的工具来完成拷贝 ???????try { ???????????iStream=pic.getInputStream(); ???????????oStream=new FileOutputStream(new File(realPath+"/"+string+endname)); ???????????FileCopyUtils.copy(iStream, oStream); ???????????oStream.flush(); ???????????oStream.close(); ???????????iStream.close(); ???????} catch (IOException e) { ???????????// TODO Auto-generated catch block ???????????e.printStackTrace(); ???????} ???????System.out.println("文件保存路径:"+realPath+"/"+string+endname+"...."); ???????return "index"; ???}

ssm框架下文件上传

原文地址:https://www.cnblogs.com/dztHome/p/8929902.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved