博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSM框架中使用文件上传的示例
阅读量:6668 次
发布时间:2019-06-25

本文共 1612 字,大约阅读时间需要 5 分钟。

1.首先要导入文件上传需要的jar包 

commons-fileupload-1.3.2.jar  用于文件上传,但是只有这个包也是不行的 ,  commons-fileupload-1.3.2.jar 依赖于  commons-io-2.5.jar 一起使用

2.在配置文件中配置文件解析器,默认是关闭的,所以要打开一下,在spring-mvc配置文件中配置一下

<!-- 文件解析器 -->

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"></property>
<!-- 指定所上传的总大小不能超过200KB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件 -->
<property name="maxUploadSize" value="200000"></property>
</bean>

3.controller 控制层写调用的方法

<!-- 注解访问层接口 并注入   用于最后调用方法--!>

@Resource

private StudentDao StudentDao;

public void setStudentDao(StudentDao studentDao) {

StudentDao = studentDao;
}

<!-- 用注解方式,value指定从页面的提交地址,method指定是用表单的方式提交过来的 -->

@RequestMapping(value="/add",method=RequestMethod.POST)  

<!-- Student student指参数,我这里用的是Student实体类  MultipartFile photo指文件上传的参数,与页面name指必须一致,HttpServletRequest request获取请求参数,File不提供request提交 -->

public String postAdd(Student student,MultipartFile photo, HttpServletRequest request) throws Exception{

<!-- 保存文件到指定的路径   这里获取的是服务器的绝对路径 --!>

String realPath = request.getServletContext().getRealPath("/img");

<!--获取文件名字 --!>

String oldName = photo.getOriginalFilename();

<!--加上后缀 赋给一个新的变量 --!>

String newName = UUID.randomUUID().toString() + oldName.substring(oldName.lastIndexOf("."));

<!--把文件放到项目的指定地方  --!>

File dest = new File(realPath+File.separator+newName );
photo.transferTo(dest);
<!-- 把路径赋给实体类所对应的列  用于添加到数据库中--!>
student.setImg(newName);

<!-- 调用添加方法  重定向到查询页面 --!>

StudentDao.add(student);
return "redirect:/student/list";
}

以上是我的做的一个小示例,希望能帮助到你们!

转载于:https://www.cnblogs.com/huazai1996/p/8301506.html

你可能感兴趣的文章
GD库知识点
查看>>
P2x与P3x的区别
查看>>
FZU 2158 数字密码
查看>>
用latex画化学结构式
查看>>
第一阶段冲刺06
查看>>
租车升级系统
查看>>
capistrano3.4.0部署不能自动登录
查看>>
二路归并排序
查看>>
【转】Python zip() 函数
查看>>
一个服务器的Apache2.4.6配置多个域名
查看>>
选择器的使用(first-child和last-child选择器)
查看>>
正则表达式学习
查看>>
python零散知识点
查看>>
28. Implement strStr() - Easy
查看>>
CSDN中根据文章自动生成文章目录
查看>>
999!!!
查看>>
python open和file的区别
查看>>
django中间件
查看>>
python3实现socket通信
查看>>
跟随Rodolfo进入VR时代!
查看>>