68

ファイルアップロードオプションを使用してファイルをアップロードしています。そして、このファイルを View から Controller に POST メソッドで直接送信します。

    [HttpPost]
    public ActionResult Page2(FormCollection objCollection)
    {
        HttpPostedFileBase file = Request.Files[0];
    }

メモ帳ファイルをアップロードしているとします。このファイルを読んで、そのファイルを保存せずにこのテキストを文字列ビルダーに追加するにはどうすればよいですか....

SaveAsこのファイルの後、このファイルを読み取ることができることを認識しています。しかし、保存せずにこのファイルを読み取るにはどうすればよいHttpPostedFileBaseですか?

4

4 に答える 4

80

これはhttpPostedFileBaseクラスを使用して行うことができ、ここで指定されているようにHttpInputStreamObjectを返します

ストリームをバイト配列に変換すると、ファイルの内容を読み取ることができます

以下のリンクを参照してください

http://msdn.microsoft.com/en-us/library/system.web.httprequest.inputstream.aspx ]

お役に立てれば

アップデート :

HTTP 呼び出しから取得するストリームは読み取り専用シーケンシャル (シーク不可) であり、FileStream は読み取り/書き込みシーク可能です。最初に HTTP 呼び出しからストリーム全体をバイト配列に読み取り、次にその配列から FileStream を作成する必要があります。

ここから撮影

// Read bytes from http input stream
BinaryReader b = new BinaryReader(file.InputStream);
byte[] binData = b.ReadBytes(file.ContentLength);

string result = System.Text.Encoding.UTF8.GetString(binData);
于 2013-04-16T06:37:46.127 に答える