我正在开发一个项目,该项目需要能够让用户从服务器上的静态位置下载pdf。我正在阅读来自this网站的说明,这是一个旧帖子,我注意到他们在更新中指定了微软的MVC框架早已包含在内,并且Action Result允许他们讨论的相同功能因此使其过时,我看过有点在线,但一直没能找到任何讨论这种内置功能的资源。如果任何人有任何讨论这个问题的链接或其他信息,这将是非常有帮助的。谢谢。在ASP.Net中下载文件MVC网络应用程序
0
A
回答
1
您可以使用FileResult
而不是ActionResult
在响应中返回文件流。举一个例子,看看SO上的Can an ASP.Net MVC controller return an Image?问题。
0
返回FileResult
。
1
public ActionResult Show(int id) {
Attachment attachment = attachmentRepository.Get(id);
return new DocumentResult { BinaryData = attachment.BinaryData,
FileName = attachment.FileName };
}
使用这个自定义类,大概类似于FileResult:
public class DocumentResult : ActionResult {
public DocumentResult() { }
public byte[] BinaryData { get; set; }
public string FileName { get; set; }
public string FileContentType { get; set; }
public override void ExecuteResult(ControllerContext context) {
WriteFile(BinaryData, FileName, FileContentType);
}
/// <summary>
/// Setting the content type is necessary even if it is NULL. Otherwise, the browser treats the file
/// as an HTML document.
/// </summary>
/// <param name="content"></param>
/// <param name="filename"></param>
/// <param name="fileContentType"></param>
private static void WriteFile(byte[] content, string filename, string fileContentType) {
HttpContext context = HttpContext.Current;
context.Response.Clear();
context.Response.Cache.SetCacheability(HttpCacheability.Public);
context.Response.ContentType = fileContentType;
context.Response.AddHeader("content-disposition", "attachment; filename=\"" + filename + "\"");
context.Response.OutputStream.Write(content, 0, content.Length);
context.Response.End();
}
}
相关问题
- 1. 使用struts2在网络应用程序中上传文件并下载
- 2. R网络抓取,从网络应用程序下载数据
- 3. 在asp.net下载文件mvc
- 4. 在ASP.NET 3.5网站子文件夹下部署ASP.NET MVC 3应用程序
- 5. ASP.NET程序文件下载
- 6. 将文件内容加载到网络应用程序中
- 7. 如何在WinForm应用程序中从网上下载文件
- 8. 网络应用程序文件上传
- 9. asp.net mvc下载文件
- 10. MVC应用程序中的文件下载
- 11. 集成星号到我的asp.net网络mvc应用程序
- 12. Asp.net多语言网络应用程序
- 13. 如何在ASP.NET MVC Web应用程序中传递上下文
- 14. 如何将文件从网上下载到ASP.NET Web应用程序中?
- 15. 示例Grails网络应用程序:上传文件,处理它,下载
- 16. 如何在ASP.Net Form网站中部署ASP.Net MVC应用程序
- 17. 从网页在WP7应用程序下载文件
- 18. 在asp.net MVC应用程序
- 19. 蟒蛇程序的网络界面:上传和下载文件
- 20. 从网络下载文本文件
- 21. 使用AngularJS和$ http.post下载在MVC应用程序中的文件
- 22. Python网络应用程序,可以下载本身
- 23. ClickOnce应用程序文件下载组
- 24. 从rails应用程序下载文件
- 25. 从silverlight应用程序下载文件
- 26. 从应用程序下载“mobileconfig”文件
- 27. 网络挂接在Asp.net MVC
- 28. ASP.Net - 无法从Web应用程序访问下载文件夹
- 29. 无法从asp.net中的应用程序文件夹下载文件
- 30. Asp.net Intranet应用程序在本地网络中无IP
感谢所有为你的建议,我会努力实现基于所提供的信息的演示。 – kingrichard2005 2010-05-06 18:12:13