ASP.NETリクエスト-クライアントで作成された動的コントロールからポストされたファイルを取得できますか?

StackOverflow https://stackoverflow.com/questions/803255

質問

カスタム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
  • Request.Form.Keys
  • Request.InputStream

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

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

ありがとう

役に立ちましたか?

解決

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"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top