|
|
@@ -14,7 +14,7 @@ import java.util.Set;
|
|
|
/**
|
|
|
* HttpRequest解析器<br>
|
|
|
* 来自Jodd
|
|
|
- *
|
|
|
+ *
|
|
|
* @author jodd.org
|
|
|
*/
|
|
|
public class MultipartFormData {
|
|
|
@@ -39,7 +39,7 @@ public class MultipartFormData {
|
|
|
|
|
|
/**
|
|
|
* 构造
|
|
|
- *
|
|
|
+ *
|
|
|
* @param uploadSetting 上传设定
|
|
|
*/
|
|
|
public MultipartFormData(UploadSetting uploadSetting) {
|
|
|
@@ -49,7 +49,7 @@ public class MultipartFormData {
|
|
|
|
|
|
/**
|
|
|
* 提取上传的文件和表单数据
|
|
|
- *
|
|
|
+ *
|
|
|
* @param inputStream HttpRequest流
|
|
|
* @param charset 编码
|
|
|
* @throws IOException IO异常
|
|
|
@@ -71,10 +71,10 @@ public class MultipartFormData {
|
|
|
if (fileName.length() > 0 && header.contentType.contains("application/x-macbinary")) {
|
|
|
input.skipBytes(128);
|
|
|
}
|
|
|
- UploadFile newFile = new UploadFile(header, setting);
|
|
|
- newFile.processStream(input);
|
|
|
-
|
|
|
- putFile(header.formFieldName, newFile);
|
|
|
+ final UploadFile newFile = new UploadFile(header, setting);
|
|
|
+ if(newFile.processStream(input)){
|
|
|
+ putFile(header.formFieldName, newFile);
|
|
|
+ }
|
|
|
} else {
|
|
|
// 标准表单项
|
|
|
putParameter(header.formFieldName, input.readString(charset));
|
|
|
@@ -96,7 +96,7 @@ public class MultipartFormData {
|
|
|
// ---------------------------------------------------------------- parameters
|
|
|
/**
|
|
|
* 返回单一参数值,如果有多个只返回第一个
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paramName 参数名
|
|
|
* @return null未找到,否则返回值
|
|
|
*/
|
|
|
@@ -117,7 +117,7 @@ public class MultipartFormData {
|
|
|
|
|
|
/**
|
|
|
* 获得数组表单值
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paramName 参数名
|
|
|
* @return 数组表单值
|
|
|
*/
|
|
|
@@ -142,7 +142,7 @@ public class MultipartFormData {
|
|
|
|
|
|
/**
|
|
|
* 获取所有属性的集合
|
|
|
- *
|
|
|
+ *
|
|
|
* @return 所有属性的集合
|
|
|
*/
|
|
|
public Map<String, String[]> getParamMap() {
|
|
|
@@ -161,7 +161,7 @@ public class MultipartFormData {
|
|
|
// --------------------------------------------------------------------------- Files parameters
|
|
|
/**
|
|
|
* 获取上传的文件
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paramName 文件参数名称
|
|
|
* @return 上传的文件, 如果无为null
|
|
|
*/
|
|
|
@@ -176,7 +176,7 @@ public class MultipartFormData {
|
|
|
/**
|
|
|
* 获得某个属性名的所有文件<br>
|
|
|
* 当表单中两个文件使用同一个name的时候
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paramName 属性名
|
|
|
* @return 上传的文件列表
|
|
|
*/
|
|
|
@@ -202,7 +202,7 @@ public class MultipartFormData {
|
|
|
|
|
|
/**
|
|
|
* 获取上传的文件属性名集合
|
|
|
- *
|
|
|
+ *
|
|
|
* @return 上传的文件属性名集合
|
|
|
*/
|
|
|
public Set<String> getFileParamNames() {
|
|
|
@@ -211,7 +211,7 @@ public class MultipartFormData {
|
|
|
|
|
|
/**
|
|
|
* 获取文件映射
|
|
|
- *
|
|
|
+ *
|
|
|
* @return 文件映射
|
|
|
*/
|
|
|
public Map<String, UploadFile[]> getFileMap() {
|
|
|
@@ -230,7 +230,7 @@ public class MultipartFormData {
|
|
|
// --------------------------------------------------------------------------- Load
|
|
|
/**
|
|
|
* 是否已被解析
|
|
|
- *
|
|
|
+ *
|
|
|
* @return 如果流已被解析返回true
|
|
|
*/
|
|
|
public boolean isLoaded() {
|
|
|
@@ -240,7 +240,7 @@ public class MultipartFormData {
|
|
|
// ---------------------------------------------------------------- Private method start
|
|
|
/**
|
|
|
* 加入上传文件
|
|
|
- *
|
|
|
+ *
|
|
|
* @param name 参数名
|
|
|
* @param uploadFile 文件
|
|
|
*/
|
|
|
@@ -250,7 +250,7 @@ public class MultipartFormData {
|
|
|
|
|
|
/**
|
|
|
* 加入普通参数
|
|
|
- *
|
|
|
+ *
|
|
|
* @param name 参数名
|
|
|
* @param value 参数值
|
|
|
*/
|
|
|
@@ -260,7 +260,7 @@ public class MultipartFormData {
|
|
|
|
|
|
/**
|
|
|
* 设置使输入流为解析状态,如果已解析,则抛出异常
|
|
|
- *
|
|
|
+ *
|
|
|
* @throws IOException IO异常
|
|
|
*/
|
|
|
private void setLoaded() throws IOException {
|