我只是想知道大多数人如何从Java中的文件中获取mime类型?到目前为止,我已经尝试了两个工具:JMimeMagic&Mime-Util.
第一个给了我内存异常,第二个没有正确关闭它的流.我只是想知道是否有其他人有他们使用和正常工作的方法/库?
我正在将文件上传到Amazon s3存储桶,并且可以访问InputStream和包含文件的MIME类型但不包含原始文件名的String.在将文件推送到S3之前,实际创建文件名和扩展名取决于我.是否有库或方便的方法来确定MIME类型中使用的适当扩展名?
我已经看到一些对Apache Tika库的引用,但这看起来有点过分,我还没有能够成功检测到文件扩展名.从我能够收集的内容来看,这段代码看起来应该可行,但是当我的类型变量是"image/jpeg"时,我只是得到一个空字符串
MimeType mimeType = null;
try {
mimeType = new MimeTypes().forName(type);
} catch (MimeTypeException e) {
Logger.error("Couldn't Detect Mime Type for type: " + type, e);
}
if (mimeType != null) {
String extension = mimeType.getExtension();
//do something with the extension
}
Run Code Online (Sandbox Code Playgroud) 在我们的应用程序中,我们有一个像这样的文件扩展名:
filename.applicationName.zip
Run Code Online (Sandbox Code Playgroud)
现在我想注册它的文件扩展名
.applicationName.zip
Run Code Online (Sandbox Code Playgroud)
问:这可能吗?
(我知道如何注册文件扩展名,这不是重点)