在iframe中打开任意扩展名的文件

本文关键字:扩展名 文件 任意 iframe | 更新日期: 2023-09-27 18:12:49

我有一个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();
        }

在iframe中打开任意扩展名的文件

尝试添加这个header

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();

Try

Response.BinaryWrite(File.ReadAllBytes(filename));

其中filename是文件的完整路径