0
我试图在Spring应用程序中实现文件上传功能。将文件传输到Tomcat位置
目前,我使用HTML5表单的multiple
属性将多个文件发送到服务器。这些文件正在控制器中,但是我在将它们传输到服务器目标时遇到了问题。
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public String handleUpload(@RequestParam("files[]") List<MultipartFile> files, Model model) {
String fileName;
File transferFile;
String filePath = System.getProperty("catalina.base") + File.separator + "resources" + File.separator;
ArrayList<File> fileList = new ArrayList<File>(files.size());
ArrayList<String> fileNameList = new ArrayList<String>(files.size());
for (MultipartFile file : files) {
fileName = filePath + file.getOriginalFilename();
transferFile = new File(fileName);
fileNameList.add(fileName);
try {
if (transferFile.exists()) {
logger.info("Successful Transfer!");
file.transferTo(transferFile);
else
logger.info("Could not create file at " + fileName);
我离开了catch块和其他记录,但在创建transferFile
对象,但它根本不存在的位置。
如何在指定位置创建文件?
所有3个都已完成。关于第二点,在逐步调试时,我可以将'files []'列表看作LinkedList,并且文件名在那里。 – Jason 2013-05-06 11:03:59
transferFile = new File(fileName);添加transferFile.createNewFile(),以便解决您的问题。由于您未创建新文件,因此您的transferFile.exists()条件在此处失败。现在它将完美运行。 – Ruju 2013-05-06 11:13:22
这就是解决方案!谢谢! – Jason 2013-05-06 11:48:10