Загрузка файла в Ajax updatepanel без полной обратной передачи

Ваше право,

Вы должны использовать первый метод и хранить метод updateMethod внутри состояния компонента.

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

-рендеринг всякий раз, когда изменяется значение провайдера.

blockquote>

https://reactjs.org/docs/context.html#contextprovider

20
задан Muhammad Akhtar 6 October 2009 в 12:00
поделиться

6 ответов

Из моего опыта:

  1. Интеграционное и функциональное тестирование, как правило, более показательно для общего качества системы, чем костюм для модульного тестирования.
  2. Высокий уровень тестирование (функциональное, приемочное) является инструментом обеспечения качества.
  3. Модульное тестирование является инструментом разработки . Особенно в контексте TDD, где модульное тестирование становится скорее реализацией проекта, а не гарантией качества.
  4. В результате лучшего проектирования качество всей системы улучшается (косвенно).
  5. Прохождение модульного теста Пакет предназначен для обеспечения того, чтобы один компонент соответствовал намерениям разработчика (правильность). Приемочный тест - это уровень, который охватывает достоверность системы (т. Е. Система выполняет то, что хочет от нее пользователь).

Резюме:

  • Под модульным тестом подразумевается, в первую очередь, инструмент разработки, а затем инструмент QA.

    1. Добавьте ajax-upload в подробный вид.
      • Загрузчик на основе iframe , как Resource # 1.
      • Загрузчик на основе Silverlight и Flash. Мне нравится этот метод, потому что он не требует никакого серверного скрипта для отображения текущего статуса загрузки. Но в HTML5 вы можете создать это без использования какого-либо плагина веб-браузера.
      • Коммерческий загрузчик, такой как Resource # 2. которые используют скрытый iframe для загрузки.
    2. Загрузить файл во временное местоположение.

      • Система ответит временное местоположение. Затем клиент сохраняет временное местоположение в скрытом вводе в подробном виде.
      • Сохраняет временное местоположение с помощью session_id. Вы можете сохранить его в базе данных или в переменной Session в зависимости от вашей платформы.
    3. Когда вы нажимаете кнопку сохранения, система перемещает файлы в их реальное местоположение

    Примечание. Система автоматически удалит просроченный файл из временного расположения.

    Ресурс

    1. Загрузка файла ASP.NET с Индикатор выполнения в реальном времени
    2. Загрузка файла ASP.NET как GMail (Commercial)

    Обновление

    Спустя почти год я только что нашел отличный сторонний контроль для этого вопроса. Это плагин с открытым исходным кодом jQuery. Он называется Plupload, который позволяет загружать файлы, используя HTML5, Silverlight, Flash или обычные формы, и предоставляет некоторые уникальные функции, такие как процесс загрузки, изменение размера изображения и частичная загрузка.

    Вы можете попробовать и протестировать Plupload, нажав здесь.

36
ответ дан 29 November 2019 в 23:48
поделиться

Невозможно выполнить без установки двоичных файлов на клиенте. Для инфраструктуры AJAX не существует безопасного механизма для чтения содержимого файла и, следовательно, возможности отправки его на сервер. Браузер поддерживает это только как составную запись из окна ввода файла.

4
ответ дан 29 November 2019 в 23:48
поделиться

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

1
ответ дан 29 November 2019 в 23:48
поделиться

Сайты, которые, как вы видите, предоставляют эту функцию, обычно используют flash или iframe, так что обратная передача происходит в iframe и создает иллюзию запроса ajax.

HTH

OneSHOT

0
ответ дан 29 November 2019 в 23:48
поделиться

Я пробовал swfupload ( http://swfupload.org/ ), но имейте в виду, что вам нужно перепрыгивать через обручи, если вы используете формы аутентификация с браузерами, отличными от IE. Очевидно, это ошибка флэш-памяти, и она не исправлена ​​во флэш-10. Я решил не использовать ее в нашей структуре из-за этой ошибки, но в остальном это был отличный продукт.

0
ответ дан 29 November 2019 в 23:48
поделиться

Я рекомендую виджет загрузчика от YUI. См. http://developer.yahoo.com/yui/uploader/

Я думаю, вы могли бы использовать его для достижения своей цели. Вашему javascript потребуется вернуть файл клиенту с сервера после завершения загрузки. Но страница не обновлялась - загрузка происходит через flash и скрытый iframe. Загрузка, чтобы показать содержимое файла пользователю, будет осуществляться через ajax.

Если пользователь не «одобряет» загрузку, просто сделайте еще один вызов ajax на сервер, чтобы удалить файл.

0
ответ дан 29 November 2019 в 23:48
поделиться
Другие вопросы по тегам:

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