Flash Request控件回发时,ASP.NET Request.Files为空

时间:2010-09-16 18:25:39

标签: asp.net file-upload aurigma

我正在使用新的Aurigma Image Uploader 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=329A2C36F151720E0274006500730074006200720065006500640065007200000027621FE6C855CB010127960117CD55CB01370064003900630032003500390039002D0032003300340066002D0034003000370064002D0038003600350030002D0034006500610066006400350061003400380036003200330000002F00000011365FF6DADD9A79132102FAF7EEE23AEE43EBC6; .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...)

3 个答案:

答案 0 :(得分:1)

Saving Uploaded Files in ASP.NET

  

不允许使用Flash应用程序   发送自己创建的文件   标准POST请求字段   可通过Request.Files访问   采集。图像上传器Flash   绕过此限制上传   文件。但是,它会导致一些   检索这些文件的问题   在服务器端。图像上传器   附带的Flash ASP.NET控件   Image Uploader Flash提供了几种   解决这个问题的设施......

答案 1 :(得分:0)

也许控件有一个FileUpload事件或类似的东西?在其参数中包含文件的东西。或者也许是包含文件的属性。

编辑:

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

答案 2 :(得分:0)

如果不发布您的代码(以及它与样本的不同之处),这对您来说很难。

一般我会看到的一些事情(可能会有所帮助,也可能没有帮助):

  1. <aur:ImageUploaderFlash ID="Uploader1" runat="server"/>是 不在<form runat="server"></form>标记集中 你的代码,但控件需要成为WebForm的一部分。
  2. WebControl需要页面上的脚本管理器控件。
  3. 你有一个以某种方式干扰的HttpModule。