Сведения о вопросе

HEIGTH

16:02, 27th August, 2020

Теги

html   http   forms   post   upload    

Каков наилучший способ загрузить файл через сообщение HTTP с веб-формой?

Просмотров: 691   Ответов: 4

В принципе, что-то лучше, чем это:

<input type="file" name="myfile" size="50">

Прежде всего, кнопка browse выглядит по-разному в каждом браузере. В отличие от кнопки submit на форме, вы должны придумать какой-то Хак-y способ его стиля.

Во-вторых, нет индикатора прогресса, показывающего, сколько файлов было загружено. Обычно вам нужно реализовать какой-то способ на стороне клиента, чтобы отключить несколько отправок (например, изменить кнопку отправки на отключенную кнопку, показывающую "отправка формы... подождите пожалуйста.") или flash гигантское предупреждение.

Есть ли хорошие решения для этого, которые не используют Flash или Java?

Яаков : этот продукт выглядит именно так, как я ищу, но стоимость составляет $1000 и его специально для ASP.NET. есть ли какие-либо проекты с открытым исходным кодом, которые охватывают ту же или подобную функциональность?



  Сведения об ответе

прога

08:11, 25th August, 2020

Коробки загрузки файлов - это то, где мы сейчас находимся, если вы не хотите использовать другие технологии, такие как Flash, Java или ActiveX.

С plain HTML вы в значительной степени ограничены описанным выше опытом (отсутствие индикатора выполнения, двойная подача и т. д.). Если вы хотите использовать некоторые javascript, вы можете решить некоторые проблемы, сообщив о том, что загрузка выполняется, и даже показав прогресс загрузки (это хак, потому что вам не нужно делать полный круговой переход к серверу и обратно, но, по крайней мере, это работает).

Если вы готовы использовать Flash (который доступен практически везде и на многих платформах), вы можете преодолеть почти все эти проблемы. Быстрый поиск в Google обнаружил два таких компонента, оба из которых были свободными и с открытым исходным кодом. Я никогда не пользовался ни одним из них, но они выглядят хорошо. BTW, Flash тоже не без проблем, например, при использовании мультифайлового загрузчика для slide share браузер постоянно зависал на мне :-(

Вероятно, лучшее решение в настоящее время-это динамически определить, есть ли у пользователя Flash, и если это так, дать ей версию flash загрузчика, все еще позволяя выбрать базовую HTML.

HTH


  Сведения об ответе

SKY

20:42, 5th August, 2020

Вы могли бы взглянуть на необычный сценарий загрузки . Хотя он использует flash, он все равно выглядит великолепно.


  Сведения об ответе

darknet

06:57, 20th August, 2020

Проблема здесь заключается в том, что браузеры специально работают, чтобы блокировать все, что изменяет Базовый элемент управления загрузкой файлов. Вы не можете изменить его с помощью javascript, например.

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

На данный момент существуют различные обходные пути, но они различаются между IE и FX (я не знаю о Safari, Opera и т. д.).

Посмотрите, что делает http://www.gmail.com в IE и FX, когда вы прикрепляете что-то к электронной почте.

Я хочу увидеть эту дурацкую кнопку "Browse" - она говорит мне, что я не впускаю ничего неожиданного.


  Сведения об ответе

SEEYOU

11:00, 12th August, 2020

Это правда, контроль загрузки файлов определенно отстал от времени. Надеюсь, это будет рассмотрено в будущей версии asp.net.

Хотя это стоит некоторых денег, я нашел элемент управления Telerik upload , чтобы иметь все функции, которые вы ищете, включая стили и обновления прогресса (он также оптимизирует память для больших загрузок).


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться