亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? commonsmultipartresolver.java

?? spring framework 2.5.4源代碼
?? JAVA
字號:
/*
 * Copyright 2002-2008 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.springframework.web.multipart.commons;

import java.util.List;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;

import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.FileUploadBase;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.servlet.ServletRequestContext;

import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
import org.springframework.web.context.ServletContextAware;
import org.springframework.web.multipart.MaxUploadSizeExceededException;
import org.springframework.web.multipart.MultipartException;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.MultipartResolver;
import org.springframework.web.multipart.support.DefaultMultipartHttpServletRequest;
import org.springframework.web.util.WebUtils;

/**
 * Servlet-based {@link org.springframework.web.multipart.MultipartResolver} implementation
 * for <a href="http://jakarta.apache.org/commons/fileupload">Jakarta Commons FileUpload</a>
 * 1.1 or above. Commons FileUpload 1.2 or above is recommended.
 *
 * <p>Provides "maxUploadSize", "maxInMemorySize" and "defaultEncoding" settings as
 * bean properties (inherited from {@link CommonsFileUploadSupport}). See corresponding
 * ServletFileUpload / DiskFileItemFactory properties ("sizeMax", "sizeThreshold",
 * "headerEncoding") for details in terms of defaults and accepted values.
 *
 * <p>Saves temporary files to the servlet container's temporary directory.
 * Needs to be initialized <i>either</i> by an application context <i>or</i>
 * via the constructor that takes a ServletContext (for standalone usage).
 *
 * @author Trevor D. Cook
 * @author Juergen Hoeller
 * @since 29.09.2003
 * @see #CommonsMultipartResolver(ServletContext)
 * @see #setResolveLazily
 * @see org.springframework.web.portlet.multipart.CommonsPortletMultipartResolver
 * @see org.apache.commons.fileupload.servlet.ServletFileUpload
 * @see org.apache.commons.fileupload.disk.DiskFileItemFactory
 */
public class CommonsMultipartResolver extends CommonsFileUploadSupport
		implements MultipartResolver, ServletContextAware {

	private final boolean commonsFileUpload12Present =
			ClassUtils.hasMethod(ServletFileUpload.class, "isMultipartContent", new Class[] {HttpServletRequest.class});

	private boolean resolveLazily = false;


	/**
	 * Constructor for use as bean. Determines the servlet container's
	 * temporary directory via the ServletContext passed in as through the
	 * ServletContextAware interface (typically by a WebApplicationContext).
	 * @see #setServletContext
	 * @see org.springframework.web.context.ServletContextAware
	 * @see org.springframework.web.context.WebApplicationContext
	 */
	public CommonsMultipartResolver() {
		super();
	}

	/**
	 * Constructor for standalone usage. Determines the servlet container's
	 * temporary directory via the given ServletContext.
	 * @param servletContext the ServletContext to use
	 */
	public CommonsMultipartResolver(ServletContext servletContext) {
		this();
		setServletContext(servletContext);
	}


	/**
	 * Set whether to resolve the multipart request lazily at the time of
	 * file or parameter access.
	 * <p>Default is "false", resolving the multipart elements immediately, throwing
	 * corresponding exceptions at the time of the {@link #resolveMultipart} call.
	 * Switch this to "true" for lazy multipart parsing, throwing parse exceptions
	 * once the application attempts to obtain multipart files or parameters.
	 */
	public void setResolveLazily(boolean resolveLazily) {
		this.resolveLazily = resolveLazily;
	}

	/**
	 * Initialize the underlying <code>org.apache.commons.fileupload.servlet.ServletFileUpload</code>
	 * instance. Can be overridden to use a custom subclass, e.g. for testing purposes.
	 * @param fileItemFactory the Commons FileItemFactory to use
	 * @return the new ServletFileUpload instance
	 */
	protected FileUpload newFileUpload(FileItemFactory fileItemFactory) {
		return new ServletFileUpload(fileItemFactory);
	}

	public void setServletContext(ServletContext servletContext) {
		if (!isUploadTempDirSpecified()) {
			getFileItemFactory().setRepository(WebUtils.getTempDir(servletContext));
		}
	}


	public boolean isMultipart(HttpServletRequest request) {
		if (request == null) {
			return false;
		}
		else if (commonsFileUpload12Present) {
			return ServletFileUpload.isMultipartContent(request);
		}
		else {
			return ServletFileUpload.isMultipartContent(new ServletRequestContext(request));
		}
	}

	public MultipartHttpServletRequest resolveMultipart(final HttpServletRequest request) throws MultipartException {
		Assert.notNull(request, "Request must not be null");
		if (this.resolveLazily) {
			return new DefaultMultipartHttpServletRequest(request) {
				protected void initializeMultipart() {
					MultipartParsingResult parsingResult = parseRequest(request);
					setMultipartFiles(parsingResult.getMultipartFiles());
					setMultipartParameters(parsingResult.getMultipartParameters());
				}
			};
		}
		else {
			MultipartParsingResult parsingResult = parseRequest(request);
			return new DefaultMultipartHttpServletRequest(
					request, parsingResult.getMultipartFiles(), parsingResult.getMultipartParameters());
		}
	}

	/**
	 * Parse the given servlet request, resolving its multipart elements.
	 * @param request the request to parse
	 * @return the parsing result
	 * @throws MultipartException if multipart resolution failed.
	 */
	protected MultipartParsingResult parseRequest(HttpServletRequest request) throws MultipartException {
		String encoding = determineEncoding(request);
		FileUpload fileUpload = prepareFileUpload(encoding);
		try {
			List fileItems = ((ServletFileUpload) fileUpload).parseRequest(request);
			return parseFileItems(fileItems, encoding);
		}
		catch (FileUploadBase.SizeLimitExceededException ex) {
			throw new MaxUploadSizeExceededException(fileUpload.getSizeMax(), ex);
		}
		catch (FileUploadException ex) {
			throw new MultipartException("Could not parse multipart servlet request", ex);
		}
	}

	/**
	 * Determine the encoding for the given request.
	 * Can be overridden in subclasses.
	 * <p>The default implementation checks the request encoding,
	 * falling back to the default encoding specified for this resolver.
	 * @param request current HTTP request
	 * @return the encoding for the request (never <code>null</code>)
	 * @see javax.servlet.ServletRequest#getCharacterEncoding
	 * @see #setDefaultEncoding
	 */
	protected String determineEncoding(HttpServletRequest request) {
		String encoding = request.getCharacterEncoding();
		if (encoding == null) {
			encoding = getDefaultEncoding();
		}
		return encoding;
	}

	public void cleanupMultipart(MultipartHttpServletRequest request) {
		if (request != null) {
			try {
				cleanupFileItems(request.getFileMap().values());
			}
			catch (Throwable ex) {
				logger.warn("Failed to perform multipart cleanup for servlet request", ex);
			}
		}
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕日韩精品一区| 欧美激情一区在线观看| 91久久精品一区二区三区| 欧美一区二区三区四区五区| 亚洲国产精品自拍| 欧美在线一二三| 肉色丝袜一区二区| 日韩午夜在线观看| 国产精品123| 日本一区二区三区久久久久久久久不 | 欧美不卡一区二区三区| 裸体在线国模精品偷拍| 久久久久久9999| 成人黄色电影在线| 一区二区三区电影在线播| 欧美日本免费一区二区三区| 麻豆成人av在线| 国产午夜亚洲精品理论片色戒| 懂色av一区二区夜夜嗨| 亚洲免费成人av| 91精品国产色综合久久久蜜香臀| 精品制服美女久久| 一区视频在线播放| 欧美色欧美亚洲另类二区| 开心九九激情九九欧美日韩精美视频电影| 精品国产一区二区三区久久久蜜月 | 一区二区三区不卡视频在线观看 | 日韩电影免费在线观看网站| 日韩欧美国产1| 国产成人免费视频一区| 有码一区二区三区| 欧美zozo另类异族| 91免费小视频| 美女任你摸久久 | 亚洲男同1069视频| 欧美一区二区精品在线| 暴力调教一区二区三区| 免费高清在线一区| **性色生活片久久毛片| 欧美日韩电影在线播放| 国产成a人亚洲精品| 午夜久久久影院| 国产成a人亚洲精品| 午夜激情久久久| 国产欧美日韩另类视频免费观看| 欧美色中文字幕| 国产91在线看| 免费看黄色91| 亚洲一区二区在线观看视频 | 99九九99九九九视频精品| 日本亚洲最大的色成网站www| 成人免费在线观看入口| 欧美xxxx在线观看| 欧美日韩不卡一区二区| 色综合中文字幕| 精品一区二区三区日韩| 天堂成人免费av电影一区| 亚洲欧洲精品一区二区三区不卡| 精品国产免费久久| 欧美日韩精品久久久| 91麻豆swag| 国产91丝袜在线18| 国产激情一区二区三区| 久久成人18免费观看| 偷拍一区二区三区| 一级日本不卡的影视| 亚洲视频一区在线| 国产精品天干天干在观线| 久久久久久久久免费| 欧美va亚洲va在线观看蝴蝶网| 日本精品一区二区三区高清| caoporn国产一区二区| 国产乱子伦一区二区三区国色天香| 日韩激情一区二区| 午夜精品久久久久| 香蕉成人伊视频在线观看| 夜夜嗨av一区二区三区中文字幕| 色婷婷精品久久二区二区蜜臀av| 国产麻豆精品视频| 成人深夜视频在线观看| 国产成人福利片| 国产成人福利片| 成人爱爱电影网址| 福利视频网站一区二区三区| 国产白丝精品91爽爽久久| 久久精品国产99国产| 精久久久久久久久久久| 韩国欧美一区二区| 国产精品1区二区.| 成人爱爱电影网址| 日本韩国欧美一区| 精品视频1区2区| 美女一区二区三区在线观看| 蜜臀久久99精品久久久久久9| 久久电影网站中文字幕| 国产高清成人在线| 99视频精品全部免费在线| 日本高清不卡一区| 久久人人爽爽爽人久久久| 国产欧美一区二区三区沐欲| 中文字幕一区视频| 亚洲最色的网站| 免费在线欧美视频| 国产乱码精品一品二品| 99国产欧美另类久久久精品| 亚洲一区视频在线| 日韩高清电影一区| 国产成人午夜电影网| 春色校园综合激情亚洲| 欧美中文字幕一二三区视频| 精品人在线二区三区| 中文字幕成人在线观看| 亚洲综合一区二区| 老司机精品视频导航| 成人av在线一区二区三区| 欧美日韩中字一区| 2021中文字幕一区亚洲| 亚洲日韩欧美一区二区在线| 日韩电影在线一区二区三区| 高清shemale亚洲人妖| 日本不卡不码高清免费观看| 国产精品一区二区91| 色综合久久久久综合| 日韩欧美自拍偷拍| 亚洲日本一区二区三区| 久久精品噜噜噜成人av农村| 成人涩涩免费视频| 欧美一区二区三区白人| 中文字幕一区二区三区在线不卡| 亚洲电影一区二区| 成人性色生活片免费看爆迷你毛片| 欧美日韩免费一区二区三区| 国产视频一区二区在线| 亚洲va欧美va人人爽午夜 | 日韩欧美中文字幕公布| 亚洲另类一区二区| 国产精品一品二品| 欧美一区二区三区思思人| 亚洲欧洲在线观看av| 久久97超碰国产精品超碰| 91久久免费观看| 中日韩av电影| 国产尤物一区二区在线| 欧美日韩精品久久久| 亚洲视频香蕉人妖| 国产成人精品aa毛片| 日韩欧美国产wwwww| 日韩视频国产视频| 亚洲影院理伦片| www.亚洲人| 国产日本欧美一区二区| 裸体健美xxxx欧美裸体表演| 欧美绝品在线观看成人午夜影视| 国产精品白丝在线| 国产剧情av麻豆香蕉精品| 在线观看91精品国产麻豆| 亚洲精品视频在线观看免费| 成人一区二区三区视频在线观看| 欧美tickling网站挠脚心| 日韩福利视频导航| 6080亚洲精品一区二区| 亚洲大片精品永久免费| 91福利视频网站| 欧美精品18+| 亚洲综合偷拍欧美一区色| 91丨国产丨九色丨pron| 1区2区3区精品视频| 波多野结衣中文字幕一区二区三区| 久久久精品免费网站| 国产又黄又大久久| 久久精品欧美日韩| 国产999精品久久久久久绿帽| 国产三级精品三级| 国产成a人亚洲精品| 国产精品少妇自拍| 成人网男人的天堂| 亚洲人成在线播放网站岛国| 91老师国产黑色丝袜在线| 亚洲欧美日韩国产中文在线| 91福利在线播放| 丝袜美腿亚洲一区| 欧美一区二区在线免费播放| 蜜桃视频第一区免费观看| 精品人在线二区三区| 国产成人午夜精品5599| 国产精品久久久久久久久搜平片 | 国产欧美精品在线观看| 成人免费看片app下载| 亚洲四区在线观看| 欧美无砖砖区免费| 日韩电影在线一区二区| 久久午夜老司机| a美女胸又www黄视频久久| 亚洲精品综合在线| 欧美久久一二区| 国产一区二区三区在线观看精品| 国产欧美日韩亚州综合 | 欧美久久久久久久久| 久久激五月天综合精品| 欧美韩日一区二区三区|