Xml 如何管理responseType=';水滴';在前端使用Angular5

Xml 如何管理responseType=';水滴';在前端使用Angular5,xml,angular,typescript,blob,Xml,Angular,Typescript,Blob,我想下载一个doc.pdf,它有一个文本“我的第一个文件下载”。当我尝试下载到zip文件时,我的文件中有一些files.xml,如图所示 你能建议我如何将这个文件转换成pdf格式吗 请按照我的密码: 组件技术 export(id: string) { this.ss.download(id) .subscribe(data => { console.log(`excel data: ${data}`); FileSaver.saveAs(data, 'doc.zi

我想下载一个
doc.pdf
,它有一个文本
“我的第一个文件下载”
。当我尝试下载到zip文件时,我的文件中有一些files.xml,如图所示

你能建议我如何将这个文件转换成pdf格式吗

请按照我的密码:

组件技术

  export(id: string) {
    this.ss.download(id)
      .subscribe(data => { console.log(`excel data: ${data}`); FileSaver.saveAs(data, 'doc.zip') },
        error => console.log('Error downloading the file.'),
        () => console.log('Completed file download.'));
  }
service.ts:

  public download(id: string): Observable<any> {
    //let oReq = new XMLHttpRequest();
    // let options = new RequestOptions({ responseType: ResponseContentType.Blob });
    let params = new URLSearchParams();
    let headers = new Headers();
    headers.append('x-access-token', this.auth.getCurrentUser().token);
    headers.append('sale_id', id);
    headers.append('Content-Type', 'application/json;charset=UTF-8');
    headers.append('responseType':'arraybuffer');
    return this.http.get(Api.getUrl(Api.URLS.download), {
      headers: headers,
      responseType: ResponseContentType.Blob,

    }).map(res => res.blob()) 
  }
公共下载(id:string):可观察{
//让oReq=newXMLHttpRequest();
//let options=newrequestoptions({responseType:ResponseContentType.Blob});
设params=newurlsearchparams();
let headers=新的headers();
headers.append('x-access-token',this.auth.getCurrentUser().token);
headers.append('sale_id',id);
append('Content-Type','application/json;charset=UTF-8');
append('responseType':'arraybuffer');
返回这个.http.get(Api.getUrl(Api.url.download){
标题:标题,
responseType:ResponseContentType.Blob,
}).map(res=>res.blob())
}

所需参数为:方法get。参数需要在标题中发送。

我不知道这是否对您有帮助(我不太熟悉您的工具)

您正在下载的文件是
DOCX
格式。这是现代MS Word格式。这种格式是一个简单的ZIP文件,即使它有不同的扩展名

任何压缩文件开头的
PK
都是一个神奇的代码,告诉消费者这是什么类型的文件

“PK”回到“PKWARE”并指向Phil Katz,他是zip格式的发明者之一

一个压缩文件——和其他任何文件一样——只是一个字节数。消费者必须知道如何阅读和解释这一点

您应该尝试将字节流完全按照您得到的方式写入文件,将其命名为“However.docx”,并尝试使用MS Word打开此文件

如果这不起作用,字节流可能会被压缩,或者以某种方式对自身进行编码。。。至少你给我们看的那幅画看起来不是这样的


不要尝试将带有复制和粘贴的字符复制到任何类型的编辑器中。这样的文件有几个不可见的字符,这些字符将丢失。。。获取字节并按您获得的方式存储它们(与存储JPEG相同)。

您确定此文件最初是
PDF
?以ZIP方式打开的内容很清楚地指向
DOCX
,这是现代的MS Word格式。事实上,我的文件是.DOCX,我想以pdf或docxSo格式下载。。。如果是在docx中,为什么你不能照原样去做呢?因为,当我下载时。docx的问题是这样的:当我试图从邮递员那里下载这份文件时,当我点击
send
ws-post-me
PK z-LOè