0
拉出我的頭髮。通過AngularJS,WebAPI發送文件到瀏覽器,不會觸發下載?
我必須通過角GET請求:在WEB API
x.DeliverFile = function(fileId) {
$http({
method: "GET",
url: myBase + "Services/DeliverFile?FileID=" + fileId,
headers: myHeaders
}).success(function(data, status, headers, config) {
console.log(data);
});
};
和:
If fileinfo.Exists Then
Dim result As New HttpResponseMessage(HttpStatusCode.OK)
With result
.Content = New StreamContent(New FileStream(fileinfo.FullName, FileMode.Open, FileAccess.Read))
.Content.Headers.ContentDisposition = New Headers.ContentDispositionHeaderValue("attachment")
.Content.Headers.ContentDisposition.FileName = fileinfo.Name
.Content.Headers.ContentType = New Headers.MediaTypeHeaderValue("application/octet-stream")
End With
Return result
Else
Return Request.CreateResponse(HttpStatusCode.NotFound)
End If
我和HttpHandlers的做到了這一點很多次,但與網頁API顯然缺少的東西。
我能夠通過console.log(data)查看字節;
我無法弄清楚如何讓瀏覽器觸發下載。
我在這裏看到這篇文章:Download file from an ASP.NET Web API method using AngularJS
我無法接受「接受的答案」,因爲必須有觸發一個跨瀏覽器兼容的方式下載的方式。
貌似不支持IE9。我堅持不得不在這個項目上支持它。或者至少我不認爲它是。詳細閱讀。謝謝你的幫助。 – user1447679