第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從ASP.NETWebAPI中的控制器返回二進(jìn)制文件

從ASP.NETWebAPI中的控制器返回二進(jìn)制文件

一只甜甜圈 2019-06-20 16:34:20
從ASP.NETWebAPI中的控制器返回二進(jìn)制文件我正在使用ASP.NETMVC的新WebAPI開發(fā)一個Web服務(wù),它將提供二進(jìn)制文件,主要是.cab和.exe檔案。下面的控制器方法似乎有效,這意味著它返回一個文件,但它將內(nèi)容類型設(shè)置為application/json:public HttpResponseMessage<Stream> Post(string version, string environment, string filetype){     var path = @"C:\Temp\test.exe";     var stream = new FileStream(path, FileMode.Open);     return new HttpResponseMessage<Stream>(stream, new MediaTypeHeaderValue("application/octet-stream"));}有更好的方法嗎?
查看完整描述

3 回答

?
12345678_0001

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個贊

雖然建議的解決方案可以正常工作,但是還有另一種方法可以從控制器返回字節(jié)數(shù)組,并對響應(yīng)流進(jìn)行正確的格式化:

  • 在請求中,設(shè)置標(biāo)題“Accept:application/octet-stream”。
  • 服務(wù)器端,添加媒體類型格式化程序以支持此MIME類型.

不幸的是,WebApi不包括任何用于“應(yīng)用程序/八位流”的格式化程序。在GitHub上有一個實(shí)現(xiàn):BinaryMediaTypeFormat(對于webapi 2,方法簽名有一些小的修改以使其工作)。

可以將此格式化程序添加到全局配置中:

HttpConfiguration config;// ...config.Formatters.Add(new BinaryMediaTypeFormatter(false));

WebApi現(xiàn)在應(yīng)該使用BinaryMediaTypeFormatter如果請求指定正確的接受標(biāo)頭。

我更喜歡這個解決方案,因?yàn)榉祷刈止?jié)[]的動作控制器更適合測試。不過,如果您想返回另一個內(nèi)容類型,則另一種解決方案允許您進(jìn)行比“application/octet-stream”(例如“Image/gif”)更多的控制。


查看完整回答
反對 回復(fù) 2019-06-20
  • 3 回答
  • 0 關(guān)注
  • 1803 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號