1 回答

TA貢獻1909條經驗 獲得超7個贊
我認為拋出異常是因為目錄/opt/13不存在。Files.write將創建文件,但沒有父目錄。這是Files.write文檔的一部分:
options 參數指定文件的創建或打開方式。如果不存在任何選項,則此方法的工作方式就像存在 CREATE、TRUNCATE_EXISTING 和 WRITE 選項一樣。換句話說,它打開文件進行寫入,如果文件不存在則創建文件,或者最初將現有的常規文件截斷為 0 大小。
替換以下行
File newFile = new File(UPLOADED_FOLDER + merchant_id, file.getOriginalFilename());
LOG.info("New file location: " + newFile.getAbsolutePath()); //Log the path
Files.write(newFile.toPath(), bytes);
和
File directory = new File(UPLOADED_FOLDER, merchant_id.toString());
directory.mkdirs();
File newFile = new File(directory, file.getOriginalFilename());
LOG.info("New file location: " + newFile.getAbsolutePath()); //Log the path
Files.write(newFile.toPath(), bytes);
添加回答
舉報