Я пытаюсь реализовать функцию загрузки файлов в приложении 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);
я ушел из стопорных блоков и другое протоколирование, но объект transferFile
создаются, но не существует в месте.
Как создать файл в указанном месте?
Все 3 сделаны. Что касается второй точки, то при переходе через отладчик я вижу список 'files []' как LinkedList, и имена файлов есть. – Jason
transferFile = новый файл (имя_файла); Добавьте transferFile.createNewFile(), чтобы он решил вашу проблему. Поскольку вы не создали новый файл, поэтому ваше условие transferFile.exists() здесь не работает. Теперь оно будет работать отлично. – Ruju
Это было решение! Благодаря! – Jason