Я не могу установить имя файла zip из веб-API в HttpResponseMessage
. Я могу успешно создать zip-файл, используя ZipArchive со всеми его файлами содержимого, но при загрузке его со стороны клиента (хотя он действительно возвращается и открывается успешно) имя отображается в 16-байтовом шестнадцатеричном формате, как guid. Я хотел бы установить собственное имя для моего zip-файла. Где мне это сделать?
Настройка ContentDisposition
не работает:
responseMessage.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = attachmentName
};
Со стороны клиента, используя Angular2 +, я возвращаю файл в виде большого двоичного объекта:
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'});
});
}