ASP.NETリクエスト-クライアントで作成された動的コントロールからポストされたファイルを取得できますか?
-
03-07-2019 - |
質問
カスタム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"
所属していません StackOverflow