我似乎无法从HttpResponseMessage
. 我可以使用 ZipArchive 及其所有内容文件成功创建 zip 文件,但是从客户端下载它时(尽管它确实返回并成功打开),名称以 16 字节十六进制格式显示,如 guid。我想为我的 zip 文件设置一个自定义名称。我应该在哪里做这个?
设置ContentDisposition
不起作用:
responseMessage.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = attachmentName
};
从使用 Angular2+ 的客户端,我将文件作为 blob 返回:
DownloadAtachment(url: string): Observable<Blob> {
const requestHeaders = new Headers(
{
'Content-Type', 'application/json',
'Accept', 'application/zip'
},
);
let options = new RequestOptions({ headers: requestHeaders });
let args: RequestOptionsArgs = {headers: options, withCredentials:false, responseType: ResponseContentType.ArrayBuffer};
return this._http.get(url, args)
.map(response => {
return new Blob([response.blob()], { type: 'application/zip'});
});
}