multipart/form-data 인지 체크
MultipartRequestWrapper 상속해서 수정
1. multipart/form-data 인지 체크하는 방법
request.getContentType()).toLowerCase()).startsWith("multipart/form-data")
2.MultipartRequestWrapper 상속해서 수정
- 단 파일 업로드시 null로 체크 되버려서 사용하지는 말고 참고용으로만
package kr.co.test.util;
import java.io.IOException;
import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.upload.MultipartRequestWrapper;
import com.oreilly.servlet.multipart.MultipartParser;
import com.oreilly.servlet.multipart.ParamPart;
import com.oreilly.servlet.multipart.Part;
public class SecurityMultipartRequestWrapper extends MultipartRequestWrapper {
private MultipartParser mp = null ;
public SecurityMultipartRequestWrapper(HttpServletRequest request) {
super(request);
try {
mp = new MultipartParser((HttpServletRequest)request, 1000000);
parameters = new HashMap();
Part part ;
String name ="", value="";
String[] values = null;
while ( ( part = mp.readNextPart() ) != null ) {
name = part.getName() ;
if ( part.isParam() ) {
ParamPart paramPart = (ParamPart) part ;
if (parameters.get(name)!=null){
if (parameters.get(name).getClass().equals(String[].class)){
String[] temp = (String[])parameters.get(name);
String newValue[] = new String[temp.length + 1];
System.arraycopy(temp, 0, newValue, 0, temp.length);
newValue[temp.length] = paramPart.getStringValue();
parameters.put(name, newValue);
} else {
String newValue[] = new String[2];
newValue[0] = (String) parameters.get(name);
newValue[1] = paramPart.getStringValue();
parameters.put(name, newValue);
}
} else {
parameters.put(name, paramPart.getStringValue());
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public String getParameter(String name)
{
String value = null;
if(parameters.get(name).getClass().equals(String[].class))
{
String mValue[] = (String[])parameters.get(name);
if(mValue != null && mValue.length > 0)
value = mValue[0];
} else {
value = (String)parameters.get(name);
}
return value.replaceAll("a", "");
}
}
'JAVA' 카테고리의 다른 글
[JAVA] Object Array (0) | 2022.05.23 |
---|---|
[JAVA] 휴일 알아내기 (0) | 2021.06.25 |
multipart 파일체크 (4) | 2019.04.09 |
multipart 파라미터 받기 (0) | 2019.02.28 |
multipart 클래스 사용 예제 (0) | 2019.02.28 |