Сервлет может определить, являются ли отправленные данные multipart/form-data?

Просто следите за тем, как я это сделал и почему:

  1. Я больше не наследую класс Rule из MonoBehaviour, чтобы избежать отслеживания создания и удаления объектов gameObjects, которая оказалась болью.
  2. Поскольку метод Invoke не существует в родовых классах, я заменил его отражением, как описано здесь здесь

10
задан zb226 5 June 2019 в 12:42
поделиться

4 ответа

Да, Content-type заголовок в запросе агента пользователя должен включать multipart/form-data как описано (по крайней мере), в спецификации HTML4:

http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2

16
ответ дан 3 December 2019 в 13:28
поделиться

Если Вы собираетесь попытаться использовать request.getContentType (), методика, представленная выше, знает что:

  1. request.getContentType () может возвратить пустой указатель.
  2. request.getContentType () не может быть равен "multipart/form-data", но может только запуститься с него.

Принимая это во внимание, проверка, которую необходимо осуществить:

if (request.getContentType() != null && request.getContentType().toLowerCase().indexOf("multipart/form-data") > -1 ) {
// Multipart logic here
}
20
ответ дан 3 December 2019 в 13:28
поделиться

Можно назвать метод для получения типа контента.

http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletRequest.html#getContentType ()

Согласно http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2, тип контента будет "multipart/form-data".

Не забывайте что:

  1. request.getContentType () может возвратить пустой указатель.

  2. request.getContentType () не может быть равен "multipart/form-data", но может только запуститься с него.

Так, со всем этим в памяти:

if (request.getContentType() != null && 
    request.getContentType().toLowerCase().indexOf("multipart/form-data") > -1 ) 
{
    << code block >>
} 
8
ответ дан 3 December 2019 в 13:28
поделиться

Необходимо будет считать параметры запроса для определения этого, по крайней мере, на некотором уровне. Класс ServletRequest имеет getContentType метод, на который Вы захотите посмотреть.

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

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