无法读取上传的multipart xml文件

时间:2015-04-21 17:02:30

标签: java xml spring

我正在尝试编写一个接收xml文件并解析它并进行一些额外处理的服务。 在UI控制器中,我将多部分文件内容转换为字符串并将其传递给服务。   从UI控制器 - 我上传文件并调用服务方法来解析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始终为null。我休息这个xml文件的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我认为这是

的问题
String fileContent  String fileContent = new String(newFile.getBytes());

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

你应该做的是创建一个InputStream并构建文档,如下所示:

   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);
    }