本文整理汇总了Java中org.springframework.http.MediaType.MULTIPART_FORM_DATA属性的典型用法代码示例。如果您正苦于以下问题:Java MediaType.MULTIPART_FORM_DATA属性的具体用法?Java MediaType.MULTIPART_FORM_DATA怎么用?Java MediaType.MULTIPART_FORM_DATA使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类org.springframework.http.MediaType
的用法示例。
在下文中一共展示了MediaType.MULTIPART_FORM_DATA属性的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: writeMultipart
private void writeMultipart(MultiValueMap<String, Object> parts, HttpOutputMessage outputMessage)
throws IOException {
byte[] boundary = generateMultipartBoundary();
Map<String, String> parameters = Collections.singletonMap("boundary", new String(boundary, "US-ASCII"));
MediaType contentType = new MediaType(MediaType.MULTIPART_FORM_DATA, parameters);
outputMessage.getHeaders().setContentType(contentType);
writeParts(outputMessage.getBody(), parts, boundary);
writeEnd(boundary, outputMessage.getBody());
}
示例2: determineContentType
/**
* Tries to determine the content/media type of this HTTP request iff the HTTP "Content-Type"
* header was not explicitly set by the user, otherwise the user provided value is used. If the
* "Content-Type" HTTP header value is null, then the content/media/payload of this HTTP request
* is inspected to determine the content type.
* <p/>
* The simplest evaluation sets the content type to "application/x-www-form-urlencoded" if this is
* a POST or PUT HTTP request, unless any request parameter value is determined to have multiple
* parts, the the content type will be "multipart/form-data".
* <p/>
*
* @param defaultContentType the default content/media type to use when the content type cannot be
* determined from this HTTP request.
* @return a MediaType for the value of the HTTP Content-Type header as determined from this HTTP
* request.
* @see #getHeaders()
* @see org.springframework.http.HttpHeaders#getContentType()
* @see org.springframework.http.MediaType
*/
protected MediaType determineContentType(final MediaType defaultContentType) {
MediaType contentType = getHeaders().getContentType();
// if the content type HTTP header was not explicitly set, try to determine the media type from
// the content body
// of the HTTP request
if (contentType == null) {
if (isPost() || isPut()) {
OUT: for (final String name : getParameters().keySet()) {
for (final Object value : getParameters().get(name)) {
if (value != null && !(value instanceof String)) {
contentType = MediaType.MULTIPART_FORM_DATA;
break OUT;
}
}
}
// since this is a POST/PUT HTTP request, default the content/media type to
// "application/x-www-form-urlencoded"
contentType = ObjectUtils.defaultIfNull(contentType, MediaType.APPLICATION_FORM_URLENCODED);
} else {
// NOTE the "Content-Type" HTTP header is not applicable to GET/DELETE and other methods of
// HTTP requests
// since there is typically no content (media/payload/request body/etc) to send. Any request
// parameters
// are encoded in the URL as query parameters.
}
}
return ObjectUtils.defaultIfNull(contentType, defaultContentType);
}