2016-05-01 34 views
1

我在web api控制器端点下载了一个zip文件,下面的代码。它的作品,但文件名没有被设置正确,所以我想使用内容处置标题来解决这个问题。不过,我得到这个错误,因为我加了那条线The format of value 'inline; filename=log_2016.zip' is invalid.我该如何解决这个问题?设置zip文件下载的文件名

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)); 

回答

2

既然你没有为GetContentDisposition(HttpWebResponse)提供的代码,我根据错误信息,这个函数返回完整的标题文本假设。

ContentDispositionHeaderValue构造函数只是类型(我相信这是你的情况"inline"。然后你必须设置其余属性为ContentDispositionHeaderValue对象的属性。

如果你已经有充分的Content-Disposition标题文本,使用ContentDispositionHeaderValue.ParseContentDispositionHeaderValue.TryParse

+0

我不太确定内联是正确的类型,为什么你认为这样? – Timigen

+1

我不认为它是正确的(通常是'附件'),但基于标题你的错误信息,这似乎是你得到的。 – yaakov