我正在開發一個項目,該項目需要能夠讓用戶從服務器上的靜態位置下載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. 部署ASP.NET MVC網絡應用程序
- 2. 部署Asp.net MVC網絡應用程序
- 3. 下載Azure網絡應用程序?
- 4. 將Shopify和Stripe包含在ASP.NET MVC網絡應用程序中
- 5. 將文件從互聯網下載到ASP.NET MVC Web應用程序
- 6. 使用struts2在網絡應用程序中上傳文件並下載
- 7. 在asp.net下載文件mvc
- 8. 在ASP.NET 3.5網站子文件夾下部署ASP.NET MVC 3應用程序
- 9. R網絡抓取,從網絡應用程序下載數據
- 10. 從ASP.NET MVC 2網站下載文件
- 11. ASP.NET程序文件下載
- 12. 將文件內容加載到網絡應用程序中
- 13. 如何在WinForm應用程序中從網上下載文件
- 14. 網絡應用程序文件上傳
- 15. 文件下載asp.net mvc
- 16. asp.net mvc下載文件
- 17. 下載文件asp.net的MVC
- 18. ASP.NET MVC 4移動網絡應用程序-deployment錯誤
- 19. 集成星號到我的asp.net網絡mvc應用程序
- 20. Asp.net多語言網絡應用程序
- 21. MVC應用程序中的文件下載
- 22. 下載MVC 4應用程序中的文件流
- 23. 如何下載在Firebase上創建的網絡應用程序?
- 24. 在應用程序處於後臺時下載網絡數據
- 25. 如何在ASP.NET MVC Web應用程序中傳遞上下文
- 26. 在網絡共享上創建文件夾在asp.net應用程序中共享
- 27. 如何將文件從網上下載到ASP.NET Web應用程序中?
- 28. 如何在ASP.Net Form網站中部署ASP.Net MVC應用程序
- 29. 與不加載JavaScript文件ASP.NET MVC應用程序
- 30. 在asp.net MVC應用程序
感謝所有爲你的建議,我會努力實現基於所提供的信息的演示。 – kingrichard2005 2010-05-06 18:12:13