如何在Angular2 +中将Blob xml转换为doc

时间:2019-06-14 08:02:06

标签: java angular spring typescript spring-boot

我成功以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();
                }
            }
         }

0 个答案:

没有答案