ASP.NET Request.Files пуст при обратной передаче управления флэш-памятью - PullRequest
2 голосов
/ 16 сентября 2010

Я использую новый 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 ]

1 голос
/ 27 сентября 2010

Сохранение загруженных файлов в ASP.NET :

Приложения Flash не могут отправлять файлы, созданные сами как стандартные поля запроса POST доступны через Request.Files коллекция. Flash Uploader для изображений обходит это ограничение для загрузки файлы. Тем не менее, это вызывает некоторые проблемы с получением этих файлов на стороне сервера. Загрузка изображений Flash ASP.NET, который поставляется с Image Uploader Flash предоставляет несколько средства для решения этой проблемы ...

0 голосов
/ 16 сентября 2010

Без публикации ВАШЕГО кода (и чем он отличается от примеров) вам трудно с этим справиться.

Просто в общих чертах некоторые вещи, на которые я хотел бы взглянуть (которые могут или не могут помочь):

  1. <aur:ImageUploaderFlash ID="Uploader1" runat="server"/> не находится внутри тега <form runat="server"></form>, установленного в вашем коде, но элемент управления должен быть частью WebForm.
  2. Для WebControl требуется диспетчер скриптовэлемент управления на странице.
  3. У вас есть HttpModule, который как-то мешает.
0 голосов
/ 16 сентября 2010

Возможно, элемент управления имеет событие FileUpload или что-то подобное? То, что имеет файлы в своем аргументе. Или, возможно, свойство, содержащее файлы.

Редактировать:

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

...