2016-05-01 51 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