webservice에서 스트림/bytearray로 ms-word (docx) 문서를받는 상황이 있습니다.속성이 docx 파일에 누락되었습니다.
그런 다음 이전과 동일한 이름과 콘텐츠를 제공하여 파일을 다시 만들려고합니다.
원본 파일과 다운로드 후 만든 파일을 비교하면 동일합니다.
그러나 단어를 새로 열려고하면 오류가 발생하고 risc를 수락하면 열 수 있습니다.
Windows의 파일 속성을 보면 새 파일에 많은 정보가 누락되어 있습니다.
파일을 오류없이 열 수 있도록 속성을 다시 만드는 방법을 알고있는 사람은 누구입니까? 내가 .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