2

カスタム JavaScript を使用した Web コントロールがあります。JavaScript は、次のようなコードを使用して、クライアント上に新しいファイル アップロード コントロールを動的に作成します。

var newFileUpload = document.createElement('input');
newFileUpload.type = 'file';
container.appendChild(newFileUpload); // where container is a div

これは、encType が multipart/form-data に設定された ASP.NET フォームに存在します。ページに 1 ~ n 個のコントロールを配置します (もちろん、妥当な数に制限されています)。

ASP.NET アプリケーションでアップロードされたファイルをキャプチャしたいと考えています。上記のアプローチにより、FileUpload コントロール (残念ながら使用できません) からのようにそれらをキャプチャできないことがわかっています。アップロードされたファイルをキャプチャする別の方法はありますか?

私は以下を含む多くの分野を調べました。

  • Request.Files
  • リクエストフォーム
  • Request.Form.Keys
  • Request.InputStream

しかし、私はコンテンツを見つけることができませんでした。クライアントはこのデータを正しく送信していると思いますが、サーバーが未加工のリクエスト情報で何をするかを判断できませんでした (これが公開されている場合でも)。

私がさらに探求する可能性のある分野について何か提案はありますか?

ありがとう

4

1 に答える 1

2

Request.Form コレクションから取得するには、アップロード要素に一意の名前を追加する必要があります。

var newFileUpload = document.createElement('input');
newFileUpload.type = 'file';
//newFileUpload.id = 'file01';
newFileUpload.name = 'file01';
container.appendChild(newFileUpload);

編集: ID と名前の属性を試してみました。名前付きで、次の方法でコンテンツを取得できます。

Request.Form["file01"]

また、以下の属性をフォーム要素に追加する必要がある場合。これにより、 Request.Files["file01"] でファイルの内容を取得できます:

enctype="multipart/form-data"
于 2009-04-29T17:28:51.870 に答える