完整SpringMVC上传图片组件及保存图片地址到数据库
来源:互联网 发布:在哪注册域名比较好 编辑:程序博客网 时间:2024/04/29 19:58
在阅读网上众多资源后,发现SpringMVC上传的资料非常杂乱,没有一个能解决问题。
今天自己实践了一次,把经验分享给大家。
本人也是菜鸟,还请大神多多指点.......
1.SpringMVC使用的是commons-fileupload实现文件上传
所以要引入commons-fileupload-1.2.2.jar和commons-io-2.0.1.jar。这两个jar包是必要的。
2.在applicationContext.xml中配置multipartResolver
<!-- 下载组件 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8"></property>
<property name="maxUploadSize" value="2048000"></property>
<property name="uploadTempDir" value="resources/img/user"></property>
</bean>
3.在Controller的方法中添加MultipartFile参数。该参数用于接收表单中file组件的内容
/**
* 上传头像接口
*
* @param userPerson
* @return
*/
@RequestMapping(value = "/upload",method = RequestMethod.POST)
@ResponseBody
public String fileUpload(
@RequestParam(value = "userId", required = true) Long userId,
@RequestParam("file") MultipartFile file,
HttpServletRequest request) {
ReturnData<UserPerson> returnData = new ReturnData<UserPerson>();
if (!file.isEmpty()) {
try {
if(userId!=null){
UserPerson userperson = baseService.getById(UserPerson.class, userId);
// 文件保存路径
String filePath = request.getSession().getServletContext().getRealPath("/") + "resources/img/user/"
+ file.getOriginalFilename();
// 转存文件
file.transferTo(new File(filePath));
//上传的文件名
String filename=file.getOriginalFilename();
//文件的扩张名
String extensionName = filename.substring(filename.lastIndexOf(".") + 1);
//得到新的文件名
String newFileName = "resources/img/user/"+String.valueOf(userperson.getId())+"."+extensionName;
userperson.setImageUrl(newFileName);
baseService.update(userperson);
}
} catch (Exception e) {
e.printStackTrace();
}
}
return Jacksons.me().readAsString(returnData);//这是返回的是一个字符串,使用到Jacksons.me()组件
}
这个是我用来实现头像上传的并改名存到数据库中
4.编写前台表单。注意enctype="multipart/form-data"以及<input type="file" name="****"/>
<form action="<%=basePath%>userPerson/upload" method="post" enctype="multipart/form-data">
选择文件:<input type="file" name="file">
<input type="submit" value="提交">
</form>
就这些,自己理解下应该没什么问题....希望对大家有用
- 完整SpringMVC上传图片组件及保存图片地址到数据库
- 无组件上传图片到数据库中,最完整解决方案
- fileupload图片上传并把地址保存到数据库
- SpringMVC 上传图片保存到服务器 同时更改图片名称保存至数据库
- SpringMVC 上传图片保存到服务器 同时更改图片名称保存至数据库
- 把图片上传保存到数据库
- 上传图片保存到MySql数据库
- 上传图片并保存到数据库
- php 上传图片保存到数据库例子
- spring上传图片并保存到数据库
- php 上传图片保存到数据库例子
- php 上传图片保存到数据库例子
- springMvc+myBatis上传图片到mySQL数据库
- 无组件上传图片到数据库源码
- 无组件上传图片到数据库中
- 图片上传并保存到数据库以及显示图片
- 保存图片到数据库
- 保存图片到数据库
- android EditTextView 背景透明
- 高精度计算----减法运算
- GitHub Android 开源项目汇总
- 最近公共祖先
- Linux设备驱动之Ioctl控制
- 完整SpringMVC上传图片组件及保存图片地址到数据库
- Android MediaPlayer类详解
- 简洁的tableview
- poj3468 A Simple Problem with Integers 线段树区间更新
- 求解!!
- 动态规划的初次接触,简单分析
- android数据存取的四种方式
- #import 与 @class的区别
- 详解Spring中的CharacterEncodingFilter