【问题标题】:File(resume) upload using spring-mvc使用 spring-mvc 上传文件(恢复)
【发布时间】:2011-11-06 20:32:47
【问题描述】:

我正在使用 spring mvc 上传文件(Microsoft Office Word 文档)。
为此,我正在使用弹簧org.springframework.web.multipart.MultipartFile。
我可以上传文件,但在将其存储在 MySQL 数据库中时遇到问题。
当我将文件保存为从表单提交中获得的 multipartFile (MultipartFile multipartFile = employee.getFile();) 时。它作为对象保存在数据库中,名为

org.springframework.web.multipart.commons.CommonsMultipartFile@1c79dfc.

我想将数据存储为字符串(存在于文件中)。如何将 multipartFile 转换为字符串格式,以便可以使用 TEXT 类型将其保存在 MySQL 数据库中。

这是关于 multipartFile 的信息:

MultipartFile multipartFile = employee.getFile();
byte[] content=multipartFile.getBytes();
String s = new String(content);
log.info ("size:"+multipartFile.getSize());

输出:

大小:10066

log.info ("content type:"+multipartFile.getContentType());

输出:

内容 类型:application/vnd.openxmlformats-officedocument.wordprocessingml.document

log.info("Filename:"+multipartFile.getOriginalFilename());

输出:

文件名:prabhat-resume.docx

我想将它作为 TEXT blob 保存在数据库中。我需要做什么?

【问题讨论】:

  • Word 文档是二进制的。你想存储什么?字节数?
  • @Aaron 我想以字符串格式存储,否则文件将存储在磁盘上,我想存储带有时间戳的路径。任何一个都可以接受,但最后一个是首选

标签: java mysql spring file-upload spring-mvc


【解决方案1】:

您可以轻松地创建一个新文件并将 MultipartFile 对象传输给它。甚至提供了一种方法来简化此操作。

MultipartFile multipartFile = employee.getFile();
File localFile = new File("location/"+multipartFile.getOriginalFilename());
multipartFile.transferTo(localFile);

您可以从那里将 localFile 的位置存储到您的 MySQL 数据库中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 2011-09-11
    • 2015-11-09
    • 2015-10-28
    • 2011-10-14
    • 2014-10-26
    相关资源
    最近更新 更多