Загрузите Несколько файлов в одном Запросе HTTP

как возможно загрузить несколько файлов в одном Запросе HTTP? что я подразумеваю, что это похоже, когда у Вас есть несколько вложений, и Вы выбираете то, что Вы хотите загрузить затем загрузку нажатия, таким образом, они будут загруженным automaticcaly, и Вы не должны нажимать на каждого вручную.

я использую PHP в качестве серверной стороны srcipting.

5
задан radbyx 23 January 2018 в 12:22
поделиться

6 ответов

Во-первых, я предполагаю, что когда вы говорите «перенаправить», вы действительно имеете в виду «вперед». Перенаправления HTTP здесь не подходят.

Итак, учитывая, что, вот некоторые вещи, которые нужно попробовать:

  • Не можете ли вы просто переместить JSP-файлы из WebContent в /WEB-INF/jsp/? Тогда не потребуется изменять определение ViewResolver .

  • Вы можете попытаться вернуть контроллерам имя вида типа ../../another.jsp и надеяться, что контейнер сервлета разрешится в /WEB-INF/jsp/../../another.jsp в /another.jsp .

  • С ViewResolver обращаются только в том случае, если контроллеры возвращают имя представления. Контроллеры не имеют для возврата имени представления, они могут возвращать объект View напрямую, в данном случае JstlView . Это может указывать на то, какой JSP вам нравится. Некоторые контроллеры могут возвращать имена представлений, а некоторые - объекты View .

  • Удалите свойство prefix из средства разрешения представлений. Это означает, что необходимо также изменить каждый существующий контроллер, чтобы задать префикс имени каждого вида, возвращаемого с помощью /WEB-INF/jsp/. Затем можно обратиться к JSP в разделе WebContent по имени.

-121--4571448-

место хранения сеансов по умолчанию в php основано на файле cookie. если вы используете, что вы должны установить домен для вашего сеанса cookie в php.ini

http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-domain

-121--4349235-

Это можно отправить многопартовый ответ в HTTP :

Обычно HTTP обрабатывает многопартовый [...] агент пользователя HTTP ДОЛЖЕН следовать тому же или аналогичному поведению, что и агент пользователя MIME при получении многопартового типа.

[…] Если приложение получает нераспознанный подтип multipart, приложение ДОЛЖНО рассматривать его как эквивалентный «multipart/mixed».

Но поскольку Firefox является единственным браузером, который я знаю о поддержке таких многопартовых ответов (кроме multipart/byterange ), для этой цели следует использовать некоторый формат архивных файлов.

12
ответ дан 18 December 2019 в 06:34
поделиться

Я думаю, что это невозможно, поскольку каждый HTTP-запрос имеет только один URI.

4
ответ дан 18 December 2019 в 06:34
поделиться

Вы можете заархивировать файл с помощью PHP, на стороне сервера, и запросить файл или вернуть его из вашего скрипта, установив соответствующие заголовки, см. ZipArchive class

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

2
ответ дан 18 December 2019 в 06:34
поделиться

Не знаю насчет одного HTTP запроса, но если вам нужны все сразу, вы можете перебирать их, изменяя header('Location:') для каждого из них при перенаправлении на скрипт непосредственной загрузки. Хотя это было бы избыточно и некрасиво; я думаю, что лучшим способом было бы заархивировать их все, инструкции по этому поводу есть в Документации PHP.

0
ответ дан 18 December 2019 в 06:34
поделиться

Возможно, вы можете использовать JS для открытия нескольких всплывающих окон, каждое из которых загружает URL-адрес загрузки. Надеюсь, это единственный способ ..

-2
ответ дан 18 December 2019 в 06:34
поделиться

Это практически непригодно для использования из-за плохой поддержки браузера. Однако вы можете упаковать их в tar или zip файл на стороне сервера и передать архивный файл.

8
ответ дан 18 December 2019 в 06:34
поделиться
Другие вопросы по тегам:

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