PPT未在MVC应用程序中下载
本文关键字:下载 应用程序 MVC 未在 PPT | 更新日期: 2023-09-27 18:25:04
我正在尝试将项目文件夹中存在的PPT下载到下载文件夹中。
System.IO.FileInfo file = new System.IO.FileInfo(HttpContext.Server.MapPath("~/Output/Document.pptx"));
DownloadPPT("Document.pptx", file);
这是下载PPT功能:
public void DownloadPPT(string fileName, System.IO.FileInfo file)
{
if (!file.Exists)
{
}
else
{
// clear the current output content from the buffer
Response.Clear();
// add the header that specifies the default filename for the
// Download/SaveAs dialog
Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
//// add the header that specifies the file size, so that the browser
//// can show the download progress
//Response.AddHeader("Content-Length", file.Length.ToString());
// specify that the response is a stream that cannot be read by the
// client and must be downloaded
Response.ContentType = "application/vnd.ms-powerpoint";
// send the file stream to the client
Response.WriteFile(Server.MapPath("~/Output/Document.pptx"));
}
}
没有错误,但是没有下载ppt
有人能说出我的代码出了什么问题吗?
您可以尝试以下代码:
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
Response.ContentType = "application/vnd.ms-powerpoint";
Response.Buffer = true;
using (FileStream fileStream = File.Open(Server.MapPath("~/Output/Document.pptx"), FileMode.Open)
{
fileStream.CopyTo(Response.OutputStream);
}
Response.End();
我不能告诉你你的代码到底出了什么问题,但我在一个非常相似的上下文中使用这个片段,它一直对我有效。如果没有,也许是因为你的其他情况?您似乎可以访问Response
属性,这就是为什么我想不出任何东西会阻止这个片段正常工作。但如果这没有帮助的话,肯定还有其他人比我更有经验。
一个建议是使用Iframe,它将推送未渲染的格式文件下载。。
更多信息请点击此处