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