Переименовать файл из нескольких частей перед сохранением - PullRequest
0 голосов
/ 14 января 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 голосов
/ 14 января 2019

Multipart объект содержит данные о загрузке. Изменение его данных не принесет ничего полезного.

Что вы можете сделать, это создать свой собственный указатель файла с нужным вам именем, а затем сохранить содержимое вашей многоэлементной загрузки в этот файл. При этом вы можете передать содержимое файла в файл или stream содержимое файла в созданный файл.

...