无法将文档转换为MockMultipartFile

时间:2019-04-24 09:15:49

标签: java xml spring multipart

我需要将Document转换为MultipartFile,发现可以使用MockMultipartFile。问题是我无法获得MockMultipartFile所需的InputStream。我正在做的是在另一个问题中发现的这个问题:

Document doc = XmlUtilities.stringToXml(xml);

    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    XMLWriter xmlWriter;
    try {
        xmlWriter = new XMLWriter(outputStream, OutputFormat.createPrettyPrint());
        xmlWriter.write(doc);
        xmlWriter.close();
    } catch (IOException e1) {
        e1.printStackTrace();
    }
    InputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());

        MultipartFile mpfile = new MockMultipartFile(functionalityName, functionalityName, "text/xml", inputStream);

但是xmlWriter.write(doc);中存在一个问题,因为抛出了例外:

Invalid object: [#document: null]

我看过this answer,但是我的XML不是计算机上的文件,而是我从数据库读取的字符串,然后将其转换为XML。

我也尝试过:

 ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
  OutputFormat outputFormat = new OutputFormat(document);
  XMLSerializer serializer = new XMLSerializer(outputStream, outputFormat);
  serializer.serialize(document);
  return new ByteArrayInputStream(outputStream.toByteArray());

但是不推荐使用new OutputFormat

0 个答案:

没有答案