Обновить изображение клиента после загрузки с помощью элемента управления AsyncFileUpload в AjaxControlToolkit - PullRequest
1 голос
/ 23 сентября 2010

Я загружаю изображение с помощью AsyncFileUpload, оно работает хорошо, но я хочу показать пользователю изображение, которое он только что загрузил, но у меня проблемы с этой работой.

Я пробовал событие OnClientUploadComplete, которое получает параметры отправителя и аргументы, но второй параметр имеет только имя файла (без относительного URL), длину, но не имя файла после сохранения на сервере.

Я также пробовал ScriptManager.RegisterClientScriptBlock и вызываю свою собственную функцию для передачи URL-адреса, но по какой-то причине я не могу выбрать элемент управления img с помощью jquery, похоже, что код выполняется в другом экземпляре страницы... не уверен.

Пожалуйста, если у кого-то есть решение или предложение, я ценю ваш ответ.

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 30 декабря 2010

Сценарий выполняется внутри iframe, вы должны найти элемент управления с помощью top.getElementById ()

0 голосов
/ 03 февраля 2014

У меня та же проблема, когда мне нужно сгенерировать новое имя файла при загрузке / сохранении файла на стороне сервера.Чтобы решить эту проблему, я сохранил новое сгенерированное имя файла в хранилище на стороне сервера, к которому клиентская сторона может получить доступ, состояние просмотра страницы не работает, поэтому вы можете использовать Session с именем ключа, например CustomerID.

Затем получите сгенерированное имя файла на стороне клиента, вы можете использовать обратный вызов к тому же сеансу и получить имя файла, а затем применить его к элементу управления изображением

    $('image').attr('src','displayimage.aspx?fileName=' + filename);

, чтобы получить поток файла изображения и отобразитьЭто.Немного сложно, но это работает.

0 голосов
/ 18 ноября 2010

Поместите тот же элемент управления AsyncFileUpload в невидимый div или добавьте следующие атрибуты в тег вашей страницы:

enctype="multipart/form-data" method="post"
...