Переименование исходного имени файла Multipart - PullRequest
0 голосов
/ 15 января 2019

У меня есть этот код, где я хотел переименовать его перед сохранением в файловой системе. Я пробовал другие вопросы здесь в переполнении стека, но это не относится ко мне. Надеюсь, вы могли бы помочь мне, это мой код.

@PostMapping("/api/file/upload")
public @ResponseBody String uploadMultipartFile(@RequestParam("uploadfile") MultipartFile file) {
        try {
            fileStorage.store(file);
            return "File uploaded successfully! -> filename = " + file.getOriginalFilename();
        } catch (Exception e) {
            return "Error -> message = " + e.getMessage();
        }    
}

Это моя функция магазина:

@Override
public void store(MultipartFile file){
    try {
        Files.copy(file.getInputStream(), this.rootLocation.resolve(file.getOriginalFilename()));
    } catch (Exception e) {
        throw new RuntimeException("FAIL2! -> message2 = " + e.getMessage());
    }
}

Я попытался переименовать исходный файл, но он не работает.

Надеюсь, ты сможешь мне помочь. Большое вам спасибо !!!

1 Ответ

0 голосов
/ 15 января 2019

Ниже приведен рабочий фрагмент с небольшими изменениями здесь и там:

@PostMapping(value = "/api/file/upload", headers = {"content-type=multipart/*"})
public @ResponseBody String uploadMultipartFile(@RequestParam("uploadfile") MultipartFile file) {
    Path TO = Paths.get("/Users/myusername/Desktop/newfileName");
    try {
        try {
            Files.copy(file.getInputStream(), TO);
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("FAIL2! -> message2 = " + e.getMessage());
        }
        return "File uploaded successfully! -> filename = " + file.getOriginalFilename();
    } catch (Exception e) {
        e.printStackTrace();
        return "Error -> message = " + e.getMessage();
    }
}

OutputScreen:

enter image description here

...