C# 如何在asp.net 4.0、C web应用程序中联机查看MS office文件
目前,我正在开发一个文件管理系统,该系统是在C&ASP.NET中开发的,用户可以在其中存储批量文件。现在我想查看在浏览器中打开的所有可查看的文件格式,即图像、ms office、pdf等,而无需在客户端本地计算机上下载。我已经完成了一半的工作,即我的应用程序可以很好地处理所有图像文件和pdf文件。但我面临着ms office文件的问题,即.xls、.xlsx、.doc、.docx、.ppt等格式。我试过一些代码C# 如何在asp.net 4.0、C web应用程序中联机查看MS office文件,c#,asp.net,C#,Asp.net,目前,我正在开发一个文件管理系统,该系统是在C&ASP.NET中开发的,用户可以在其中存储批量文件。现在我想查看在浏览器中打开的所有可查看的文件格式,即图像、ms office、pdf等,而无需在客户端本地计算机上下载。我已经完成了一半的工作,即我的应用程序可以很好地处理所有图像文件和pdf文件。但我面临着ms office文件的问题,即.xls、.xlsx、.doc、.docx、.ppt等格式。我试过一些代码 protected void Page_Load(object sender
protected void Page_Load(object sender, EventArgs e)
{
//Set the appropriate ContentType.
string FilePath = MapPath("Test/xyz.pdf");
Response.Buffer = true;
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "Application/pdf";
Response.AddHeader("content-disposition", "inline; filename=\"" + "xyz.pdf" + "\"");
Response.Write(FilePath);
Response.End();
}
此代码仅适用于.pdf文件,但当我更改内容类型Response.ContentType for word或excel文件应用程序/msword for Microsoft word文件应用程序/x-msexcel for Microsoft excel文件时,此代码不起作用。
请告诉我我能做什么。我应该使用谷歌文档查看器之类的工具吗?如果只能使用这个工具,请推荐一个好的工具
提前谢谢你可以试试这样的东西
Response.ContentType = application/force-download
Response.AddHeader "content-disposition","attachment; filename=filename.xls
同样对于excel,我看到一些人使用:Response.ContentType=application/vnd.ms-excel,但是您的ms Word MIME似乎很好
同样适用于MS Office 2007+的所有MIME类型如果您正在开发此软件,可以控制浏览器的使用,也就是说,您可以指定用户使用的浏览器,您可以尝试此组件谢谢Andry纠正我的错误。您找到答案了吗?请接受一个解决方案,或者自己提供一个解决方案。我也有同样的问题,也许其他人也有。
protected void downloadButton_Click(object sender, EventArgs e)
{
string fileName = "test.xls";
string filePath = Server.MapPath("~/test.xls");
Response.Clear();
Response.AppendHeader("content-disposition", "attachment; filename=" + fileName);
Response.ContentType = "application/force-download";
Response.WriteFile(filePath);
Response.Flush();
Response.End();
}