2010-09-16 29 views
2

我使用新的Aurigma Image Uploader Flash控件,並且創建示例頁面效果很好。但是,當我將此控件放到現有網站上的現有頁面上時,它不起作用。我只能懷疑在母版頁或頁面上的其他東西搞亂了它。ASP.NET Request.Files在Flash控件回發中爲空

我跟蹤了這​​個問題 - Request.Files在請求進入時爲空。但是,所有數據都在請求中發送。

爲什麼Request.Files無法正常工作?

這裏的請求的提琴手跟蹤的摘錄:

POST http://localhost:15361/myaccount/placead/new.aspx?postFiles=1 HTTP/1.1 
Host: localhost:15361 
Connection: keep-alive 
Referer: http://localhost:15361/WebResource.axd?d=lAdTukuIRYXXlkVPS6yEQZdE0ZRhHxifFcDrPbzU_MDuk0OznXELaqd3rcUkbR18raDHqf4pWx6gUcGn391SmV3WbAt2TQUplpFdDsAU-K_ZPuSQ_dytDj992Foht1WO0&t=634202353399418554 
Content-Length: 891463 
x-preprocess-required: true 
cache-control: private 
pragma: private 
content-type: multipart/form-data; boundary=A2sVEJZF32a3OWPo7FdIFd7UvoVW5qc-jeV 
Accept: */* 
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.53 Safari/534.3 
Accept-Encoding: gzip,deflate,sdch 
Accept-Language: en-US,en;q=0.8 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Cookie: visitorId=b48169a8-778b-4da3-b12b-086f308e0a52; ASP.NET_SessionId=axobxd21maqppku1xx4cde2i; .ASPXAUTH=329A2C36F151720E0274006500730074006200720065006500640065007200000027621FE6C855CB010127960117CD55CB01370064003900630032003500390039002D0032003300340066002D0034003000370064002D0038003600350030002D0034006500610066006400350061003400380036003200330000002F00000011365FF6DADD9A2FAF7EEE23AEE43EBC6; .NDPROLES=AAEAAAD_____AQAAAAAAAAAMAgAAAE1TeXN0ZW0uV2ViLCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQUBAAAAIVN5c3RlbS5XZWIuU2VjdXJpdHkuUm9sZVByaW5jaXBhbAcAAAAIX1ZlcnNpb24LX0V4cGlyZURhdGUKX0lzc3VlRGF0ZQ1fUHJvdmlkZXJOYW1lCV9Vc2VybmFtZRFfSXNSb2xlTGlzdENhY2hlZAlfQWxsUm9sZXMAAAABAQABCA0NAQIAAAABAAAAR92OOeQjzUhHqawI4CPNSAYDAAAAC1NxbFByb3ZpZGVyBgQAAAALdGVzdGJyZWVkZXIBBgUAAAApQWR2ZXJ0aXNlclVwZ3JhZGVkLEFydGljbGVzVXNlcixGb3J1bVVzZXIL0 
... 
... 
... 

--A2sVEJZF32a3OWPo7FdIFd7UvoVW5qc-jeV 
Content-Disposition: form-data; name="File0Width_0" 
Content-Type: text/plain; charset=UTF-8; Content-Transfer-Encoding: 8bit 

1028 
--A2sVEJZF32a3OWPo7FdIFd7UvoVW5qc-jeV 
Content-Disposition: form-data; name="File0Height_0" 
Content-Type: text/plain; charset=UTF-8; Content-Transfer-Encoding: 8bit 

744 
--A2sVEJZF32a3OWPo7FdIFd7UvoVW5qc-jeV 
Content-Disposition: form-data; name="File0Mode_0" 
Content-Type: text/plain; charset=UTF-8; Content-Transfer-Encoding: 8bit 

sourceFile 
--A2sVEJZF32a3OWPo7FdIFd7UvoVW5qc-jeV 
Content-Disposition: form-data; name="File0Name_0" 
Content-Type: text/plain; charset=UTF-8; Content-Transfer-Encoding: 8bit 

image001.png_Source0.png 
--A2sVEJZF32a3OWPo7FdIFd7UvoVW5qc-jeV 
Content-Disposition: form-data; name="File0_0"; filenam_="image001.png_Source0.png" 
Content-Type: image/png; charset=UTF-8; Content-Transfer-Encoding: binary 

�PNG 

��� (this goes on for a while with all the binary data...) 

回答

0

也許控制有文件上傳事件或類似的東西?有些文件在其論據中。或者可能是一個包含文件的屬性。

編輯:

<aur:ImageUploaderFlash ID="Uploader1" runat="server" 
OnFileUploaded="FileUploaded" 
OnAllFilesUploaded="AllFilesUploaded"> 

+0

是的,處理這些事件,因爲這些文件的內容被設置不起作用爲null 。這是最初的問題。我一直追溯到Request.Files對象作爲根源(他們的控件使用Request.Files來獲取輸入流)。 – TheSoftwareJedi 2010-09-16 18:34:42

0

沒有可以發佈您的代碼(以及它不同於樣本),這是一個很難的事情來幫助你。

只是一般的一些事情,我想看看(可能會或可能不會幫助):

  1. <aur:ImageUploaderFlash ID="Uploader1" runat="server"/>是 不是裏面<form runat="server"></form>標籤在 代碼中設置的,但控制要求是部分的WebForm。
  2. WebControl需要頁面上的腳本管理器控件。
  3. 你有一個HttpModule以某種方式干擾。
1

Saving Uploaded Files in ASP.NET

Flash應用程序不允許自己爲 標準POST請求領域 訪問通過Request.Files 集合創建 發送文件。圖片上傳器Flash 繞過此限制上傳 文件。但是,它會在服務器端檢索這些文件 時導致一些 問題。附帶 圖片上傳的Flash圖片上傳 閃存ASP.NET控件提供了幾個 設施來解決這個問題...