相关疑难解决方法(0)

使用.NET,如何根据文件签名而不是扩展名找到文件的mime类型

我正在寻找一种简单的方法来获取文件扩展名不正确或没有给出的mime类型,类似于.Net中的这个问题.

c# mime mime-types

234
推荐指数
9
解决办法
21万
查看次数

Files.probeContentType的替代?

在Web项目中,用户上传他们的文件,但是当我在服务器上收到它们时,它们被存储为.tmp文件而不是原始文件扩展名(这也是我的首选行为).

但是,这会导致问题Files.probeContentType().虽然本地对我来说,在我的Linux开发机器上,Files.probeContentType()正常工作并确定正确的mime类型,当我将项目上传到生产服务器(amazon beanstalk)时,它似乎无法正确确定mime类型.

从阅读javadocs来看,似乎执行的Files.probeContentType()是不同的,我认为在生产服务器上,它正在读取文件扩展名等,因此无法确定内容类型.

什么是好的,快速的替代方案Files.probeContentType()将接受一个File参数并返回一个字符串,如image/png生成的mime类型?

java

29
推荐指数
2
解决办法
1万
查看次数

如何从byte []中提取MimeType

我有一个可用于上传文件的网页.
现在我需要检查文件类型是否正确(zip,jpg,pdf,...).

我可以使用请求附带的mimeType,但我不信任用户,让我们说我想确保没有人能够上传以.jpg重命名的.gif文件
我认为在这种情况下我应该检查神奇的数字.
是一个我发现的java库,似乎实现了我需要的'从幻数中提取mimetype'.
这是一个正确的解决方案还是你的建议?

更新: 我找到了mime-util项目,它似乎非常好并且是最新的!(也许比Java Mime Magic Library更好?)
这是一个可以帮助你提取mime类型的实用程序项目列表

java file magic-numbers mime-types

25
推荐指数
2
解决办法
3万
查看次数

如何获取正在上载的文件的InputStream的MIME类型?

简单的问题:如何在InputStream不保存文件的情况下获取用户上传到我的servlet的文件的MIME类型(或内容类型)?

java servlets inputstream mime-types

25
推荐指数
3
解决办法
5万
查看次数

如何获取.MSG文件的MIME类型?

我试过这些方法来查找文件的MIME类型......

Path source = Paths
                .get("C://Users/akash/Desktop/FW Internal release of MSTClient-Server5.02.04_24.msg");
        System.out.println(Files.probeContentType(source));
Run Code Online (Sandbox Code Playgroud)

上面的代码返回 null...
如果我使用Apache的TIKA API来获取MIME类型,那么它将它作为text/plain ...

但我希望结果如此 application/vnd.ms-outlook

UPDATE

我也使用MIME-Util.jar如下代码...

MimeUtil2 mimeUtil = new MimeUtil2();
        mimeUtil.registerMimeDetector("eu.medsea.mimeutil.detector.MagicMimeMimeDetector");
        RandomAccessFile file1 = new RandomAccessFile(
                "C://Users/akash/Desktop/FW Internal release of MSTClient-Server5.02.04_24.msg",
                "r");
        System.out.println(file1.length());
        byte[] file = new byte[624128];
        file1.read(file, 0, 624128);
        String mimeType = MimeUtil2.getMostSpecificMimeType(mimeUtil.getMimeTypes(file)).toString();
Run Code Online (Sandbox Code Playgroud)

这给了我输出 application/msword

更新:

Tika API超出了范围,因为它太大而无法包含在项目中......

那么如何找到MIME类型?

java msg mime-types

21
推荐指数
1
解决办法
1万
查看次数

在java中确定文件的mime类型的最佳方法?

好奇Java中获取mime类型文件的最佳方式.它应该实际检查文件,因为文件名不是一个准确的指标.

目前我正在使用以下似乎非常受欢迎或错过

  is = new BufferedInputStream(new FileInputStream(fileName));
  String mimeType = URLConnection.guessContentTypeFromStream(is);
  if(mimeType == null) {
    throw new IOException("can't get mime type of image");
  }
Run Code Online (Sandbox Code Playgroud)

java image mime-types

20
推荐指数
2
解决办法
3万
查看次数

如何从字节数组中提取文件扩展名

我在数据库中有字节数组.

如何从java中的字节数组中提取文件扩展名(mime/type)?

java sql bytearray mime-types

20
推荐指数
2
解决办法
3万
查看次数

java库从文件内容中查找mime类型

我正在搜索一个java库,它通过查看文件内容(字节数组)告诉你mime类型.我发现这个项目使用jmimemagic,它不再支持更新的文件类型(例如MS word docx格式),因为它现在处于非活动状态(从2006年开始).

java mime file-type

13
推荐指数
2
解决办法
2万
查看次数

如何通过图像的 Base64 编码字符串识别文件类型

我得到一个文件,它是Base64编码的字符串作为图像。但我认为它的内容包含有关 png、jpeg 等文件类型的信息。我该如何检测?有什么图书馆可以帮助我吗?

java image mime-types

12
推荐指数
2
解决办法
6万
查看次数

如何从byte [](Blob)获取文件类型扩展名

如何从byte[](Blob)获取文件类型扩展名.我正在从DB读取文件,byte[]但我不知道如何自动检测文件扩展名.

Blob blob = rs.getBlob(1);
byte[] bdata = blob.getBytes(1, (int) blob.length());
Run Code Online (Sandbox Code Playgroud)

java

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×9

mime-types ×7

image ×2

mime ×2

bytearray ×1

c# ×1

file ×1

file-type ×1

inputstream ×1

magic-numbers ×1

msg ×1

servlets ×1

sql ×1