Я генерирую файл .docx в API JAX-RS.
Когда я сохраняю его непосредственно на диск, как это: < /p>
try (FileOutputStream fos = new FileOutputStream("localSavedFile.docx")) {
outputDocument(fos);
< /code>
} < /p>
Файл открывается прекрасно в MS Word.StreamingOutput stream = output -> {
try {
outputDocument(output);
} catch (Exception e) {
throw new RuntimeException(e);
}
};
return Response.ok(stream)
.header("Content-Disposition", "attachment; filename=\"file.docx\"")
.type("application/vnd.openxmlformats-officedocument.wordprocessingml.document")
.build();
< /code>
Word показывает ошибку совместимости (что -то вроде «файл поврежден или не может быть открыт должным образом») при открытии загруженного файла.public void outputDocument(final OutputStream outputStream) throws Exception {
WordprocessingMLPackage wordPackage = WordprocessingMLPackage.createPackage();
MainDocumentPart mainDocumentPart = wordPackage.getMainDocumentPart();
//other code where docx is generated
// finally write the package to the provided stream
wordPackage.save(outputStream);
< /code>
} < /p>
Что я попробовал: < /p>
Сохранение с помощью FileOutputStream работает нормально (так что сам документ действителен). < /p>
Настройка явного контента-типа и контента. При записи в локальный файл, но показывает ошибку совместимости при потоке в ответе JAX-RS?
мне нужно понижать/закрыть поток по-разному, или для офисных файлов требуются дополнительные заголовки?
Подробнее здесь: https://stackoverflow.com/questions/797 ... or-in-word
Файл DOCX, сгенерированный JAX-RS API, показывает ошибку совместимости в Word ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Файл DOCX, сгенерированный JAX-RS API, показывает ошибку совместимости в Word
Anonymous » » в форуме JAVA - 0 Ответы
- 1 Просмотры
-
Последнее сообщение Anonymous
-