2008-09-15 13 views

Odpowiedz

8

można wywołać metodę, aby uzyskać typ zawartości.

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

Według http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2, typ zawartości będzie "wieloczęściowy/form-data".

nie należy zapominać, że:

  1. request.getContentType() może zwrócić wartość null.

  2. request.getContentType() może nie być równa "multipart/form-data", ale może po prostu zacząć od niego.

Więc z tym wszystkim pamiętać:

if (request.getContentType() != null && 
    request.getContentType().toLowerCase().indexOf("multipart/form-data") > -1) 
{ 
    << code block >> 
} 
+1

Kyle, zmieniłeś swoją odpowiedź na moją odpowiedź po tym, jak przesłałem * poprawną * odpowiedź. Być może przynajmniej odniesienie się do tego faktu może być fajne ... –

1

Musisz odczytać parametry żądania w celu określenia tego, przynajmniej na niektóre poziomu. Klasa ServletRequest ma metodę getContentType, którą będziesz chciał obejrzeć.

15

Jeśli masz zamiar starać się metodą request.getContentType() przedstawioną powyżej, należy pamiętać, że:

  1. request.getContentType() może zwrócić wartość null.
  2. request.getContentType() może nie być równy równy w "multipart/form-data", ale może po prostu zacząć od niego.

Mając to na uwadze, należy uruchomić sprawdzenie jest:

if (request.getContentType() != null && request.getContentType().toLowerCase().indexOf("multipart/form-data") > -1) { 
// Multipart logic here 
}