7

POSTにリクエストを送信するクライアントアプリケーションがあります asp.net URL(ファイルをアップロードするために使用されます.NET)。

asp.netページを作成してこのリクエストを受け取り、ファイルとして保存するにはどうすればよいですか?

@ Darin Dimitrov 私はあなたのコードを試しましたが、500 internal server errorどうすればそれを追跡できますか?!

4

2 に答える 2

23

クライアントが要求エンコーディング (ファイルのアップロードの標準) を使用する場合、アップロードされたファイルをコレクションmultipart/form-dataから取得できます。Request.Files例えば:

protected void Page_Load(object sender, EventArgs e)
{
    foreach (HttpPostedFile file in Request.Files)
    {
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
        file.SaveAs(path);
    }
}

または、クライアントが使用する名前がわかっている場合は、直接アクセスできます。

HttpPostedFile file = Request.Files["file"];

一方、クライアントがリクエストに標準エンコーディングを使用しない場合は、Request.InputStream.

于 2013-02-25T16:51:32.777 に答える
4

を使用してリクエスト全体を保存することもできます

HttpContext.Current.Request.SaveAs(filename,includeHeaders)

データが multipart/form-data としてアップロードされていないと仮定する

于 2013-02-25T16:55:48.523 に答える