Что лучший способ состоит в том, чтобы загрузить файл через POST HTTP с веб-формой?

Этот код вызывает Undefined Behavior (UB), поскольку указатель используется неинициализированным.

Компилятор должен выпустить предупреждение, когда используется флаг предупреждения, например -Wall например:

warning: 'i' is used uninitialized in this function [-Wuninitialized]
  cout << i;
          ^

Просто случается, что при этом запуске в вашей системе оно имело значение 0. Это означает, что значение мусора, которому была присвоено переменная, оказалось равным 0 , потому что остатки памяти там были предложены.

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

5
задан Community 23 May 2017 в 12:01
поделиться

4 ответа

Поля загрузки файла - то, где мы в настоящее время в том, если Вы не хотите включать другие технологии как Flash, Java или ActiveX.

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

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

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

HTH

9
ответ дан 13 December 2019 в 19:40
поделиться

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

1
ответ дан 13 December 2019 в 19:40
поделиться

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

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

0
ответ дан 13 December 2019 в 19:40
поделиться

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

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

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

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

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

1
ответ дан 13 December 2019 в 19:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: