设置zip文件下载的文件名

时间:2016-05-01 02:19:27

标签: c# asp.net-web-api asp.net-web-api2

我在web api控制器端点中有以下代码用于下载zip文件。它工作但文件名没有设置正确所以我试图使用内容处置标头来解决这个问题。但是我收到此错误,因为我添加了该行The format of value 'inline; filename=log_2016.zip' is invalid.如何解决此问题?

 httpMessage.StatusCode = HttpStatusCode.OK;
 httpMessage.Content = new StreamContent(response.GetResponseStream());
 httpMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
 httpMessage.Content.Headers.ContentDisposition =new ContentDispositionHeaderValue (GetContentDisposition((HttpWebResponse)response));

1 个答案:

答案 0 :(得分:2)

由于您没有提供GetContentDisposition(HttpWebResponse)的代码,我假设根据错误消息,此函数返回完整的标题文本。

ContentDispositionHeaderValue的构造函数只接受类型(我相信它是"inline"。然后你必须将剩余的属性设置为ContentDispositionHeaderValue对象的属性。

如果您已拥有完整的Content-Disposition标题文字,请使用ContentDispositionHeaderValue.ParseContentDispositionHeaderValue.TryParse