gpt4 book ai didi

java - 无法读取上传的多部分 xml 文件

转载 作者:行者123 更新时间:2023-12-01 11:38:17 26 4
gpt4 key购买 nike

我正在尝试编写一个服务来接收 xml 文件并解析它并进行一些额外的处理。在 UI Controller 中,我将多部分文件内容转换为字符串并将其传递给服务。 从 UI Controller - 我上传文件并调用服务方法来解析 xml 文件

 MultipartFile newFile=multiPartRequest.getFile("newFileUpload");
String fileContent = new String(newFile.getBytes());
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
InputSource is = new InputSource(new StringReader(fileContent));
doc = dBuilder.parse(is);

但是,doc 始终为空。对我来说,休息这个 xml 文件的最佳方法是什么?

最佳答案

我认为这是一个问题

String fileContent  String fileContent = new String(newFile.getBytes());

由于并非文件的所有字节都是文本,因此您拥有不代表文本的 header 、eof 和字节。

您应该做的是创建一个输入流并根据它构建文档,如下所示:

   try{    
MultipartFile newFile=multiPartRequest.getFile("newFileUpload");
InputStream is = new newFile.getInputStream();
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(is);
} catch (SAXException | IOException | ParserConfigurationException ex) {
Logger.getLogger(JavaApplication4.class.getName()).log(Level.SEVERE, null, ex);
}

关于java - 无法读取上传的多部分 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29778702/

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