我希望客戶端下載單擊按鈕時存儲在我的數據庫中的文件。 我發送這個ajax請求,並從服務器端採取它。Extjs Ajax文件下載請求C#MVC
EXTJS:
downloadFile: function (a, b, c) {
var feed_id =this.getMyfeedwindow().down('form').getComponent('FeedId').text;
Ext.Ajax.request({
url: '/Feed/Download',
method: 'GET',
params: {
fileID: feed_id, //this.form.getComponent('file').value,
},
failure: function (response) {
alert('failed !');
},
success: function (response) {
alert('success!');
},
});
},
然後滿足與該代碼塊請求。
C#:
public void Download(string fileID){
Response.ContentType = "application/force-download";
Response.AddHeader("Content-Disposition", "attachment; Filename=\"Logo1.jpg\"");
Response.BinaryWrite(data);
Response.End();
}
當我檢查網絡螢火蟲,看來我的要求與這些參數成功返回。
Cache-Control private
Content-Disposition attachment; filename="Logo1.jpg"
Content-Type application/force-download
Date Wed, 09 Jan 2013 12:51:54 GMT
Server Microsoft-IIS/8.0
Transfer-Encoding chunked
X-AspNet-Version 4.0.30319
X-AspNetMvc-Version 4.0
X-Powered-By ASP.NET
X-SourceFiles =?UTF-8?B?RTpcVXRrdUNhblxQcm9qZWN0c1xURlNcQlRPTVxCVE9NXEZlZWRcRG93bmxvYWQ=?=
雖然返回成功,但下載無法啓動。我閱讀了很多問題和文章,但大多數答案都說添加強制下載標題可以解決問題。我錯過了哪一點?謝謝。
你究竟在這裏問什麼?目前尚不清楚。 – Liam
下載不在服務器端啓動?我無法開始。 Firebug中的響應字段似乎充滿了一些數據,但沒有下載。 – tkcn