1

現在、ユーザーが大量のファイルを保存できる C# および ASP.NET で開発されたファイル管理システムに取り組んでいます。ここで、表示可能なすべての形式のファイル (つまり、画像、ms office、pdf など) をブラウザーで開いて表示したいと考えています (クライアントのローカル マシンにダウンロードせずに)。仕事の半分はすでに完了しています。つまり、アプリケーションはすべての画像ファイルと pdf ファイルに対して正常に動作しています。しかし、私は ms オフィス ファイル (つまり、、、、、など) の形式で問題.xlsに直面しています。私はいくつかのコードを試しました.xlsx.doc.docx.ppt

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

このコードはファイルに対してのみ正常に機能しますが、Wordまたは Excel ファイル(Microsoft Word ファイルの場合) (Microsoft Excel ファイルの場合).pdfのコンテンツ タイプを変更すると、このコードは機能しません。私に何ができるか教えてください。Googleドキュメントビューアなどのツールを使用する必要があります.ツールでのみ可能である場合は、これに適したツールを提案してください.Response.ContentTypeApplication/mswordApplication/x-msexcel

前もって感謝します

4

3 に答える 3

0

このようなことを試すことができます。

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 タイプへのリンクもここにあります。

于 2013-04-03T13:34:28.753 に答える
0

ブラウザの使用を制御できるこのソフトウェアを開発している場合、つまり、ユーザーが使用するブラウザを指定できる場合は、このコンポーネントhttp://www.ocxt.com/を試すことができます。

于 2013-04-03T14:12:59.207 に答える
0
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();
}
于 2014-04-23T07:32:41.710 に答える