src/org/bs/servlet/backend/MultipartRequestWrapper.java
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
package org.bs.servlet.backend;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.fileupload.FileItemStream;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.util.Streams;
import org.apache.commons.io.FilenameUtils;
public class MultipartRequestWrapper extends HttpServletRequestWrapper {
private Map allParams;
public MultipartRequestWrapper(HttpServletRequest request) {
super(request);
// �����ж��Ƿ�multipart��������
// �����multipart�������ͣ��������request��ȡ�������?��
// ���?������ͨ�ı?�������ֵȡ�����ŵ�allParams��
// ���?���������
// 1�����ļ��ȴ洢�����̵�ij��Ŀ¼�У�
// 2�����ļ����й���Ϣ����ƣ����ͣ��ϴ�ʱ�䣩��װ��Attachment[]����
// 3���Ѱ�װ�õ�Attachment[]���ͣ��ŵ�allParams��
try {
// ���ȣ��ж��Ƿ�multipart��������
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (!isMultipart) {
allParams = request.getParameterMap();
} else {
allParams = new HashMap();
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
FileItemStream item = iter.next();
// �õ��?������
String name = item.getFieldName();
// �õ��?���ֵ������һ����������
InputStream stream = item.openStream();
// �������ͨ�?��
if (item.isFormField()) {
String value = Streams.asString(stream,
request.getCharacterEncoding());
} else { // ������ļ�
if (stream.available() != 0) {// ����ļ���û��ѡ���ļ�������Դ���
String filename = item.getName(); // �õ��ϴ����ļ����
if (filename != null) {
// ��Ϊ��IE���棬�ϴ����ļ������д��ļ��ڿͻ��˻�����·��
// ���ԣ�Ҫ�����·��ȥ����ֻȡ�ļ���
filename = FilenameUtils.getName(filename);
}
// ���ϴ��ļ�����������������̵��ļ���
后面还有 14 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
