0

ユーザーが証明書をアップロードしてシステム内の人に添付できるようにするアプリケーションがあります。現在、.PDF ファイルのみを受け入れるように記述されていますが、現在、クライアントは、あらゆるタイプのドキュメントをシステムにアップロードする柔軟性を望んでいます。バイト[]ファイルとファイル拡張子を保持するようにデータベースをセットアップしましたが、システムをこれほど柔軟にして、すべてのハードコーディングなしで投げたファイルタイプを開くのに十分スマートにする方法がわかりません。インスタンス。何か案は?

編集:現在、私は次のことを行っています。

private void createPDF(byte[] file, string Name)
{
    int fileSize = file.Length;

    Response.AppendHeader("content-length", fileSize.ToString());
    Response.ContentType = "application/pdf";
    if (!Name.Contains("."))
        Name = Name + ".pdf";
    Response.AddHeader("Content-Disposition", "attachment; filename=" + Name);
    Response.BinaryWrite(file);
    //Response.Clear();
    Response.Flush();
    Response.End();
}

ただし、拡張機能を送信して開くことができるようにする必要があります。ドキュメントは、エンド ユーザーがダウンロードできる必要があります。アップロードを制限して、悪意のあるファイル拡張子が許可されないようにします。みんなありがとう、このイ​​ンフルエンザのバグは私のお尻を蹴っていて、私はまっすぐに考えることができません...

4

1 に答える 1

2

octet-streamMIME タイプが機能するはずです。

private void createFILE(byte[] file, string Name)
{
    int fileSize = file.Length;

    Response.AppendHeader("content-length", fileSize.ToString());
    Response.ContentType = "octet-stream";
    if (!Name.Contains("."))
        Name = Name + ".(your_extension)";
    Response.AddHeader("Content-Disposition", "attachment; filename=" + Name);
    Response.BinaryWrite(file);
    Response.Flush();
    Response.End();
}
于 2013-01-10T21:00:25.513 に答える