springmvc实现文件上传的步骤:

1.页面上,通过input来准备file组件,该标签,必须给定name属性值
同时,要求form表单必须给定一个属性:enctype="multipart/form-data"
2.在pom.xml文件中,添加文件上传的第三方工具:
commons-fileupload-1.3.2.jar
commons-io-2.2.jar
3.在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";}

转载于:https://www.cnblogs.com/dztHome/p/8929902.html

ssm框架下文件上传相关推荐

  1. 基于SSM框架实现文件上传并插入数据库

    大学刚毕业,进入公司之后,师傅要求在已有的项目上增加Excel表格导入数据的功能,借此机会将遇到的问题做一个简单的总结. 在实现该功能时先对实现思路进行梳理. 1.获取Excel数据 2.对获取到的数 ...

  2. ssm框架实现文件上传(上传头像)

    一.文件上传 1.表单元素,不能用实体类的属性命名 上传的是文件,属性是字符串,保存文件名 type为file 例如在user/insert.jsp下: (1)type需要修改为"file& ...

  3. layUI框架中文件上传前后端交互及遇到的相关问题

    下面我将讲述一下我在使用layUI框架中文件上传所遇到的问题: 前端jsp页面: <div class="layui-form-item"> <label cla ...

  4. jquery.form.js java_使用jQuery.form.js/springmvc框架实现文件上传功能

    使用的技术有jquery.form.js框架, 以及springmvc框架.主要实现异步文件上传的同时封装对象,以及一些注意事项. 功能本身是很简单的,但是涉及到一些传递参数类型的问题.例如:jque ...

  5. 第三百一十九节,Django框架,文件上传

    第三百一十九节,Django框架,文件上传 1.自定义上传[推荐] 请求对象.FILES.get()获取上传文件的对象 上传对象.name获取上传文件名称 上传对象.chunks()获取上传数据包,字 ...

  6. IOS开发基础之使用AFNetworking框架实现文件上传get和post请求

    IOS开发基础之使用AFNetworking框架实现文件上传get和post请求 AFNetworking框架 请自行从github官网clone.命令为 git clone xxx.xxx是项目的地 ...

  7. layui表单加文件 php_layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例...

    本文实例讲述了layui框架实现文件上传及TP3.2.3对上传文件进行后台处理操作.分享给大家供大家参考,具体如下: layui框架是1.0.9版本.. 首先html页面代码如下: js代码如下: l ...

  8. php 文件上传框架,Laravel框架实现文件上传的方法分析

    本文实例讲述了Laravel框架实现文件上传的方法.分享给大家供大家参考,具体如下: 配置文件: config/filesystems.php, 新建存储空间 'uplaods' => [ 'd ...

  9. 使用SpringMVC框架实现文件上传和下载功能

    使用SpringMVC框架实现文件上传和下载功能 (一)单个文件上传 ①配置文件上传解释器 <!-配置文件上传解释器 --> <mvc:annotation-driven>&l ...

最新文章

  1. 深入理解BP神经网络的细节
  2. Java EE---使用Spring框架创建Department小项目
  3. Android底部菜单栏 仿微博效果
  4. WCF之服务实例管理
  5. Spark详解(二):Spark完全分布式环境搭建
  6. 重置studio 3T 14天试用
  7. haproxy心跳检测_haproxy 非常完整的配置
  8. java实现内存修改器_魔兽3内存修改器 v8
  9. 基于模型与不基于模型的深度增强学习_CVPR2018: 基于时空模型无监督迁移学习的行人重识别...
  10. Qt中Q_OBJECT与生成的moc文件的作用
  11. Springboot 整合 Mybatis 的完整 Web 案例
  12. 软件项目经理新手上路(11) - 找不到自己,看不见别人
  13. 物理课上该怎样使用计算机,物理课堂教学中怎样使用演示课件.doc
  14. 基于PCNN的图像增强matlab代码
  15. centos7安装bbr_Centos7下,BBR修正版 一键安装与使用
  16. IPV6 RFC和地址表示
  17. mongodb4.4 windows环境安装
  18. 蓝牙 UUID 解释
  19. java、简单练习题
  20. 零基础手把手教你做FMEDA

热门文章

  1. ARM Cortex-M3相比于ARM其他系列微控制器的优势和特点
  2. coursera无法观看视频解决方法
  3. 线性回归 c语言实现_C ++中的线性回归实现
  4. 如何正确选择合适的贷款机构,避免征信花掉?
  5. Vivado抓取信号
  6. PIC32单片机harmony开发环境 - uart例程和代码分析
  7. 计算机网络结构有哪些,计算机网络主要拓扑结构有哪些
  8. Android自动伸展动画,android – 如何实现平滑的展开/折叠动画
  9. c语言中bluetooth函数,C语言中的低功耗蓝牙-使用Bluez创建GATT服务器
  10. ora29280 oracle,细节:utl_file_dir错误设置导致ORA-29280