我成功以XML格式从后端(java)获得了响应,我下载了该文件,但是当我尝试打开它时,出现了无效的输入/输出错误。
//这是我服务中的方法
getDoc(){
return this.http.get("http://localhost:17080/files/doc",{responseType:
'text'});
}
//这是我在.ts文件中的方法
openDoc(){
this.dataService.getDoc().subscribe((response)=>{
console.log(response);
let blob = new Blob([response], { type:
'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
});
fs.saveAs(blob, "name.doc");
}
//这是我后端的方法
@RequestMapping(value = "/doc", method = RequestMethod.GET)
public byte[] getDoc(){
return readFile("somelink");
}
// readFile方法
private byte[] readFile(String url) {
BufferedInputStream bis = null;
try {
bis = new BufferedInputStream(new URL(url).openStream());
byte[] dataToReturn = new byte[ARRAY_SIZE];
bis.read(dataToReturn, 0, ARRAY_SIZE);
return dataToReturn;
} catch (IOException e) {
e.printStackTrace();
return null;
} finally {
if(bis != null) {
try {
bis.close();
} catch (IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}