commons-fileupload 上传图片路径到mysql,在Spring MVC中将图像上传到服务器并在mysql数据库中存储引用...

I'm coding a Spring MVC 3.0 application with Tomcat as the web server.

Our requirement is to let the user upload an image. I'm thinking of storing this image on the disk file system and store the reference path in MySQL instead of storing all the file info in MySQL database as BLOB (I was told storing in MySQL is not best practice).

Can any one recommend how to do this in Spring MVC?

Cheers

解决方案

Storing in disk and storing in MySQL has its on caveats. Here is good discussion about it.

To store it in file system you can use Commons File Upload. Here is a sample

pom.xml

commons-fileupload

commons-fileupload

${release.version}

commons-io

commons-io

${release.version}

JSP

Spring MVC file upload example

enctype="multipart/form-data">

Please select a file to upload :

Controller

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

public String handleFormUpload(

@RequestParam("file") MultipartFile file) throws IOException{

if (!file.isEmpty()) {

BufferedImage src = ImageIO.read(new ByteArrayInputStream(file.getBytes()));

File destination = new File("File directory with file name") // something like C:/Users/tom/Documents/nameBasedOnSomeId.png

ImageIO.write(src, "png", destination);

//Save the id you have used to create the file name in the DB. You can retrieve the image in future with the ID.

}

}

And define this in your application context

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

I hope this helps.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值