2009-04-29 13 views
2

私はいくつかのカスタムjavascriptでWebコントロールを持っています。 Javascriptを動的に似たコードを使用して、クライアントに新しいファイルアップロードコントロールを作成します。ASP.NETリクエスト - クライアント上に作成された動的コントロールから投稿ファイルを取得できますか?

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

これはmultipart/form-dataに設定のenctypeとASP.NETの形で存在します。私はページに1 - nのコントロールを持っています(もちろん、妥当な数に制限されています)。

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

  • Request.Files
  • のRequest.Form
  • Request.Form.Keys
  • Request.InputStream

私には、領域の数を介して見ていますしかし、私はそのコンテンツを見つけることができませんでした。私はクライアントがこのデータを正しく送信していると考えていますが、未処理のリクエスト情報(これが公開されていても)にサーバが何をするのか判断できませんでした。

誰かが私がさらに探求するかもしれない分野についての提案はありますか?

おかげ

答えて

2

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

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

EDIT:私はあなたのフォーム要素に以下の属性を追加する必要がある場合は名前で、あなたはまた、

Request.Form["file01"] 

してコンテンツを取得することができ、IDと名前attibutesを試してみました。これは、あなたが[「FILE01」] Request.Filesでファイルの内容を取得することができます:

enctype="multipart/form-data" 
+0

うーん、私はそれを試してみた、そしてそれはRequest.Formコレクションでは、まだありません。私は何か他に何が必要なのでしょうか?名前属性を持つ – Chris

+0

はうまくいくはずです –

+0

ああ、名前 - 今は私が試したことはありません。おかげさまでヒープ、私は行くことを与える!私はすでにencTypeを持っているので、行きたいと思うはずです。今あなたは私の記憶をジョギングしました。ありがとう:) – Chris

関連する問題