我有一个Web应用程序,我需要在iframe中以标准格式打开任何文件,例如.doc / docx / .csv / .txt / .xls。我怎样才能做到这一点?我尝试使用下面的示例代码,但它没有打开iframe中的所有文件格式。我收到了一些XML错误。
var ext = GetExtension(fileName);
switch (ext)
{
case "pdf":
Response.ContentType = "Application/pdf";
break;
case "htm":
case "html":
Response.ContentType = "text/html";
break;
case "txt":
Response.ContentType = "text/plain";
break;
case "doc":
Response.ContentType = "Application/vnd.ms-word";
break;
case "xls":
case "csv":
Response.ContentType = "Application/vnd.ms-excel";
break;
case "ppt":
case "pps":
Response.ContentType = "Application/vnd.ms-powerpoint";
break;
default:
Response.ContentType = "Application/unknown";
break;
}
if (Response.ContentType != "Application/unknown")
{
Response.Flush();
Response.WriteFile(fileName);
Response.End();
}
答案 0 :(得分:0)
尝试
Response.BinaryWrite(File.ReadAllBytes(filename));
其中filename是文件的完整路径
答案 1 :(得分:0)
尝试添加此标题
Response.AppendHeader("Content-Disposition", "attachment; filename=file.[EXTENSION]")
你应该在这里替换确切的[EXTENSION]。喜欢pdf
Response.AppendHeader("Content-Disposition", "attachment; filename=file.pdf")
然后你也可以写
Response.BinaryWrite(File.ReadAllBytes(filename));
Response.Flush();
Response.End();