У меня возникла ситуация, когда я получаю документ ms-word (docx) как поток/bytearray из веб-службы.Свойства отсутствуют в файле docx
Затем я пытаюсь воссоздать файл, присвоив ему то же имя и контент, что и раньше.
Если я сравниваю исходный файл и файл, созданный после загрузки, то они идентичны.
Однако, когда я пытаюсь открыть новое в слове, я получаю сообщение об ошибке, и если вы принимаете riscs, я могу его открыть.
Если я смотрю на свойства файла в окнах, в новом отсутствует много информации.
Кто-нибудь знает, как воссоздать свойства, чтобы файл можно было открыть без ошибок?
Просто дополнительный кусок информации .. Если я использую .doc (word97-2003) документы, все работает нормально, только .docx документы являются проблемой (также .xlsx и все документы в офисе 2007-2010).
Это мой код создает файлы ..
private static void saveBytesAsFile(String path, String filename, byte[] data){
try {
File dir = new File(path);
dir.mkdirs();
OutputStream os = new FileOutputStream(path + "/" + filename);
os.write(data);
os.flush();
os.close();
} catch (FileNotFoundException fnfe) {
fnfe.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
я сравнил оригинал и воссозданный файл в блокноте ++, и получил результат, что они идентичны.
Вот как я вижу, что некоторые свойства отсутствуют.
Эти предупреждения я получаю от слова:
Если я нажмите ОК на первом и да на второй я могу открыть документ в любом случае.
Вы должны включить код, который воссоздает файл. Можете помочь людям понять, что происходит. – Henrik
Как вы сравниваете исходный файл и загруженный файл? Какие атрибуты говорят вам, что это точно такие же файлы? – cyroxx
Если вы решили проблему, отправьте ответ. Это принятый способ сделать это на SO. Кроме того, не редактируйте свой заголовок для решения. – maxf130