2009-04-29 25 views
2

我有一個自定義JavaScript的網頁控制。的JavaScript在客戶機上創建動態使用類似代碼到新文件上傳控制:ASP.NET請求 - 我可以從客戶端上創建的動態控件獲取張貼的文件嗎?

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

這存在於與設置ENCTYPE爲multipart/form-數據的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); 

編輯:我試圖標識和名稱attibutes的與名稱,可以通過

Request.Form["file01"] 

也得到了內容,如果你要添加下面的屬性到你的表單元素。這使您可以得到由Request.Files文件內容[「file01」]:

enctype="multipart/form-data" 
+0

嗯,我已經試過了,它仍然不是的Request.Form收藏。我還需要做什麼嗎? – Chris 2009-04-29 19:14:55

相關問題