Не удается преобразовать документ в MockMultipartFile - PullRequest
0 голосов
/ 24 апреля 2019

Мне нужно преобразовать Document в MultipartFile, и я обнаружил, что могу использовать MockMultipartFile. Проблема в том, что я не могу получить InputStream, который мне нужен для моего MockMultipartFile. То, что я делаю, это то, что я нашел в другом вопросе:

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]

Я посмотрел на этот ответ , но мой 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 устарела.

...