Изменить имя MultipartFile - PullRequest
       2

Изменить имя MultipartFile

0 голосов
/ 10 июля 2019

Я пытаюсь изменить имя MultipartFile.

Я использую MultipartFile на своем контроллере для вызова службы отдыха:

@PostMapping("/post")
public ResponseEntity<String> handleFileUpload(@RequestParam("file") MultipartFile file)
{
    ...
}

У вас есть какие-либо идеи по поводу измененияOriginalFilename загруженного файла?.

Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Вы можете добиться переименования файла, как показано ниже. Для проверки перейдите на uploadDir, и у вас будет файл с "renameTest".

Вы можете добавить clientId + uploadTime к имени файла, чтобы избежать тех же имен файлов в базе данных

@PostMapping(value = "/post")
    public  String renameMultipartFile(@RequestParam("file") MultipartFile file) {
        String uploadDir = "yourPath";
        String filename = "renameTest";
        Path saveTO = Paths.get(uploadDir + filename);
        try {
            try {
                Files.copy(file.getInputStream(), saveTO);
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException("Error : " + e.getMessage());
            }
            return "File uploaded successfully";
        } catch (Exception e) {
            e.printStackTrace();
            return "Error : " + e.getMessage();
        }
    }
0 голосов
/ 10 июля 2019

Вы можете попробовать следующий код.

@PostMapping("/post")
public ResponseEntity<String> handleFileUpload(@RequestParam("file") MultipartFile file)
{
    try {
        String filename = "random_filename.pdf"; // Give a random filename here.
        byte[] bytes = file.getBytes();
        String insPath = <DIRECTORY PATH> + filename // Directory path where you want to save ;
        Files.write(Paths.get(insPath), bytes);

        return ResponseEntity.ok(filename);
    }

    catch (IOException e) {
        // Handle exception here 
    }
}

Вы должны не забыть добавить случайную строку к имени файла. Если вы просто жестко закодируете имя файла, каждый раз, когда вы загружаете файл, предыдущий файл будет заменен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...