java - 如何获取 Multipart 文件的真实扩展类型

标签 java file mime-types

我在这里检查了答案,但首先他们将其保存到某个地方,然后读取它的流并尝试检查该文件的 Mime 类型

Get real file extension -Java code

但我什至想在将文件保存到硬盘或某个地方之前知道文件类型。

我知道我可以通过另外两种方式做到这一点

File savedFile = new File(fileHandler.createTodayFolder(fileLocation) + "/" + name);
            Path path = Paths.get(file.get);
            Tika tika = new Tika();
            String checkType = tika.detect(path.toFile()); 

          Path path = Paths.get(savedFile.getPath());
          Files.probeContentType(path)

但是在这两种情况下,他们都在使用一些已经在硬盘中某个位置的文件。 我想要这样的代码

  public @ResponseBody ResponseEntity<?> importResume(@RequestParam(value = "name", required = false) String name,
        @RequestParam("file") MultipartFile file) {

     if (file!=DESIRED_TYPE)
     {
       return Exception;
     }
}

有什么办法吗???

最佳答案

对我来说,最干净的解决方案:

使用 org.apache.commons.io 的 FilenameUtils:

String extension = FilenameUtils.getExtension(file.getOriginalFilename());

关于java - 如何获取 Multipart 文件的真实扩展类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33214214/

相关文章:

java - Activity 暂停时更新适配器数据

android - onActivityResult 的 intent.getPath() 没有给我正确的文件名

c# - 将文件复制到 tmp 文件夹的推荐方法是什么?

file - 从完整文件路径查找文件名

java - 为什么我看不到我的 Java/SalesForce/Google 应用程序?

java:循环生成随机数

java - 如何在 java.lang.Runtime.getRuntime() 中编写 adb shell 命令?

java - lwjgl 3 , glUniformMatrix4 导致 jre 崩溃

Android 可用的 mime 类型?

linux - 如何链接 'mimetype -b' 和 'find' 命令以获取同一 csv 中的文件名和文件类型?