【发布时间】:2014-06-13 12:54:52
【问题描述】:
我正在 Eclipse 上编写一个 Spring MVC 项目。我在编码上传图片功能时被卡住了。客户端使用 HTML5 API 读取多部分文件并将其发送到服务器。以下代码用于将图像保存到服务器。
@RequestMapping(method = RequestMethod.POST)
public void processUpload(@RequestParam("pic") MultipartFile file) throws IOException {
// if (!result.hasErrors()) {
FileOutputStream outputStream = null;
String filePath = System.getProperty("java.io.tmpdir") + "/" + file.getOriginalFilename();
try {
outputStream = new FileOutputStream(new File(filePath));
outputStream.write(file.getInputStream().read());
outputStream.close();
} catch (Exception e) {
System.out.println("Error while saving file");
文件发送到服务器并继续,但文件名不是原始文件名,而是java生成的一些随机字符串。我在 apache-tomcat-6.0.26\work\Catalina\localhost\ 中找到了该文件,其名称如下:upload__f20d9c4_1357767c999__7ffe_00000001。然后该文件消失。 我的问题是文件去了哪里以及如何正确地将上传的文件写入某个文件夹,例如 /uploads 而不是保存到临时文件夹? 我是新人,所以如果我发错了请纠正我:D
【问题讨论】:
标签: java spring-mvc file-upload