ASP.NET FileUpload: как автоматически отправить обратно после выбора файла?

Я работаю над приложением ASP.NET, и мне нужно отправить сообщение на сервер после того, как файл выбран в элементе управления FileUpload, без необходимости явного нажатия пользователем кнопки «Отправить». Это возможно? и если да, то как?

14.12.2008 15:05:23
Четкий вопрос с двумя хорошими ответами закрыт через четыре с половиной года?
Rawling 28.02.2014 15:12:04
2 ОТВЕТА
РЕШЕНИЕ

Я предполагаю, что вы хотите начать загрузку сразу. Если это так, вы должны отреагировать на changeсобытие в JavaScript и просто заставить его отправить форму.

<!-- HTML code --->
<input 
  type="file" 
  onchange="if (confirm('Upload ' + this.value + '?')) this.form.submit();"
>

Рекомендуется запрашивать у пользователей подтверждение, чтобы они оставались под контролем процесса и могли отменить, если они случайно выбрали неправильный файл.

23
14.12.2008 15:23:36
Определенно дайте пользователю возможность прервать, если они вдруг поймут, что нажали не на тот файл.
DOK 14.12.2008 16:09:20

В первом ответе был правильный javascript, но ASP.NET не обязательно предоставляет элемент управления вводом напрямую, поэтому лучше поместить событие onchange в элемент управления FileUpload.

<asp:FileUpload ID="myFileUpload" onchange="if (confirm('Upload ' + this.value + '?')) this.form.submit();" runat="server" />

Другой путь - обеспечить богатую загрузку через flash / silverlight / ajax. Отличный компонент для этого можно найти в Ajax Uploader примерно за $ 100.

15
25.01.2019 07:11:25