0

ページに asp:FileUpload コントロールを配置する場合は、ファイルを参照してからフォームを送信します。フォームを送信すると、ファイルがサーバーにアップロードされますか?

ファイルがファイルストリームに渡されてアップロードされるファイルアップロードの例をたくさん見てきました。

いつ何が起きているのか分かりません。[アップロード] ボタンをクリックすると、サーバー上でコードが実行されます。FileUpload.PostedFile (または httpFileCollection) を使用して FileUpload コントロールによって提供されるファイル (ファイル名? ファイル パス?) は、フォームが送信されたときにアップロードされますか? ファイルストリームを使用してアップロードできるように、サーバーがクライアントマシン上のファイルにアクセスするにはどうすればよいですか。

理解できません。ファイルストリームがデータをチャンクで渡す(渡すことができる)ことを読み続けています-ファイルサイズなどの制限を回避するのに役立ちますが、上で述べたように、ファイルはいつ/どのようにサーバーにアップロードされますか?

4

2 に答える 2

1

コントロールは<asp:FileUpload>をレンダリングし<input type="file">、フォームのコンテンツ タイプを に設定しmultipart/form-dataます。

ブラウザがを送信する<form><input type="file">、ファイル全体が HTTP POST でサーバーに送信されます (これは content-type の一部です)。

于 2012-09-28T17:34:32.620 に答える
1

アップロードをクリックすると、html フォームが送信され、投稿リクエストがサーバーに送信されます。

実際には、直接保存できるある種の「ファイル」オブジェクトを送信するのではなく、ファイルの内容をバイト単位で、ファイル名などのメタデータだけを送信します。

サーバーでは、この要求を処理する必要があります。バイトを実際のファイルに読み取って、適切に保存する必要があります。

あなたが言及した例では、これが HttpPostedFile の用途です。

于 2012-09-28T22:37:05.663 に答える