gpt4 book ai didi

Java后端文件类型验证

转载 作者:行者123 更新时间:2023-12-01 20:15:42 25 4
gpt4 key购买 nike

我已经进行了一些谷歌搜索,但到目前为止还没有找到答案。

问题:在 java 后端,检查文件是否确实符合您的预期。例如,上传的 jpg 文件带有 pdf 扩展名...是否有一个可用的 jar 可以让我验证该文件是否实际上是其扩展名指示的文件类型?

最佳答案

Apache Tika 似乎是最好的。示例:

import java.io.File;
import java.io.FileInputStream;

import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.Parser;
import org.apache.tika.sax.BodyContentHandler;
import org.xml.sax.ContentHandler;

public class Main {

public static void main(String args[]) throws Exception {

FileInputStream is = null;
try {
File f = new File("C:/Temp/mime/test.docx");
is = new FileInputStream(f);

ContentHandler contenthandler = new BodyContentHandler();
Metadata metadata = new Metadata();
metadata.set(Metadata.RESOURCE_NAME_KEY, f.getName());
Parser parser = new AutoDetectParser();
// OOXMLParser parser = new OOXMLParser();
parser.parse(is, contenthandler, metadata);
System.out.println("Mime: " + metadata.get(Metadata.CONTENT_TYPE));
System.out.println("Title: " + metadata.get(Metadata.TITLE));
System.out.println("Author: " + metadata.get(Metadata.AUTHOR));
System.out.println("content: " + contenthandler.toString());
}
catch (Exception e) {
e.printStackTrace();
}
finally {
if (is != null) is.close();
}
}
}

示例取自:http://www.rgagnon.com/javadetails/java-0487.html

在那里你可以找到更多示例,他们还提供了包含示例所有 jasr 的 zip ;) http://www.rgagnon.com/examples/demo-tika-libs.zip

关于Java后端文件类型验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45849058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com