【发布时间】:2012-11-20 17:25:11
【问题描述】:
这是我的 web-api 代码:
[HttpPost]
public HttpResponseMessage PostFileAsAttachment()
{
string path = "D:\\heroAccent.png";
if (File.Exists(path))
{
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
var stream = new FileStream(path, FileMode.Open);
result.Content = new StreamContent(stream);
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
result.Content.Headers.ContentDisposition.FileName = "xx.png";
return result;
}
return new HttpResponseMessage(HttpStatusCode.NotFound);
}
以及如何编写客户端(视图)以强制下载文件给我(如自动下载模式(打开、另存为)可以弹出...)
【问题讨论】:
-
您的意思是要在下载文件之前显示打开、另存为弹出窗口吗?
-
是的..我想用jquery ajax方法,怎么做?
-
但在HttpResponseMessage返回后
-
您可以使用
window.location导航到此下载网址,也可以使用javascript 中的window.open()打开一个新窗口。您实际上无法使用 ajax 下载文件。 -
我正面临着确切的问题。你找到解决方案了吗?
标签: jquery asp.net asp.net-mvc rest asp.net-web-api