我在服务器端有一个MultipartFile文件。我想更改此文件的原始文件名,但该类仅支持getOriginalFilename()。

谁能帮我这个? PS:这是上载的图像文件。

非常感谢。

最佳答案

您可以使用MockMultipartFile类更改名称。
例如,向多部分文件添加时间戳。

MultipartFile multipartFile = new  MockMultipartFile(FilenameUtils.getBaseName(oldMultipartFile.getOriginalFilename()).concat(new SimpleDateFormat("yyyyMMddHHmm").format(new Date())) + "." + FilenameUtils.getExtension(oldMultipartFile.getOriginalFilename()), oldMultipartFile.getInputStream());

然后使用具有新名称的multipartFile
或者您可以像这样在保存之前重命名文件
  String currentDate = new SimpleDateFormat("yyyyMMddHHmm").format(new Date());

  file.getOriginalFilename().replace(file.getOriginalFilename(), FilenameUtils.getBaseName(file.getOriginalFilename()).concat(currentDate) + "." + FilenameUtils.getExtension(file.getOriginalFilename())).toLowerCase())

关于java - 如何更改MultipartFile的originalFilename,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35914212/

10-10 18:25