|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.poscoict.glueframework.web.control.GlueMultipartRequest
public class GlueMultipartRequest

GlueMultipartRequest는 form이 multipart/form-data 인경우 생성된다.
GlueMultipartRequest를 Default 생성자로 생성한다. 최대 Size는 100Mbyte이다.
File Upload Size 변경 방법
1: glue.properties에 다음과 같이 선언. 단, Integer.MAX_VALUE 가 상한값임.
max.upload.file.size=1000000000
2: GlueAbstractAction, GlueAbstractController 을 상속받아서 구현
reqeust.setAttribute(GlueWebConstants.MAXUPLOADSIZE,"1000000000");
이 GlueMultipartRequest는 Glue F/W에서 생성 하여 주며
Web이 아닌 Non Web 프로그램에서는 사용할 수 없다.
사용 방법은 다음과 같다.
GlueMultipartRequest mReq = ctx.getMultiPartRequest();
if(mReq != null) {
File f = getFile("a.txt");
}
대용량 File Upload 적용 방법
대용량 File의 경우 WAS의 Memory Size에 제약을 받는다.
예를 들어 WAS의 Memory를 100MB로 하였다고 한다면
100MB 보다 큰 File은 Upload를 하지 못하게 된다.
이런경우 대용량 File을 적용하여야 한다.
대용량 File 적용 방법:
- JAVA Option 설정 : "-Dfile.bigsize=true"
제약 사항:
- 기존 byte [] 형태로 File의 Contents를 받아 처리 하던 Logic은 더이상 사용 될 수 없다.
- 해당 Method List :
public byte[] getFileContent(String fileName)
public byte[] getFileContentByInputName(String inputName)
public byte[][] getMultiFilesContentByInputName(String inputName)
public String toStringFileContent(String fileName)
| Constructor Summary | |
|---|---|
GlueMultipartRequest(ServletRequest request)
생성자(constructor). |
|
| Method Summary | |
|---|---|
static void |
copyFile(File input,
File output)
File 을 Copy 한다. |
Object |
getFileContentsForHuge(String fileName)
HTTP Request Stream에서 읽어 들인 파일의 컨텐츠를 Return 한다. |
Iterator<String> |
getFileNames()
File 명을 탐색하기 위한 Iterator를 반납한다. |
InputStream |
getInputStream(String fileName)
메모리에 캐쉬하고 있는 파일의 내용을 InputStream형태로 반환한다. |
Map<String,String[]> |
getParameterMap()
|
File |
saveFile(String fileName)
파일을 Server상의 지정된 업로드 디렉토리에 저장한다. |
void |
setTargetDirectory(String path)
Upload된 File들을 저장하길 원할때 사용한다. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public GlueMultipartRequest(ServletRequest request)
throws Exception
방법 1: glue.properties에 다음과 같이 선언
max.upload.file.size=1000000000
방법 2: 다음과 같이 구현
reqeust.setAttribute(GlueWebConstants.MAXUPLOADSIZE,"1000000000");
request - HTTP Request
Exception - Request를 parsing 하는 도중 에러가 발생되면 throw 된다.| Method Detail |
|---|
public void setTargetDirectory(String path)
기본적으로 Web 환경에서 다음 2개 Action Class가 사용된다면 setTargetDirectory()가 실행된다. mReq.setTargetDirectory("/upload/chain/"); mReq.saveFile("a.txt"); 위 예에서 만일 mReq.setTargetDirectory()를 먼저 실행하지 않았다면 Error가 발생된다.
path - String File을 저장할 Directory 명
IllegalArgumentException - Directory의 권한 및 잘못된 경로public Map<String,String[]> getParameterMap()
public Iterator<String> getFileNames()
public InputStream getInputStream(String fileName)
fileName - 파일명
public Object getFileContentsForHuge(String fileName)
fileName - 파일명
Exception
public static void copyFile(File input,
File output)
input - fileoutput - filepublic File saveFile(String fileName)
fileName - 저장하고자 하는 파일명
Exception - FileNotFoundException 파라미터로 넘어온 파일명이 존재하지 않을때 발생된다. Exception 파일 저장중 오류가 났을때 발생된다.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||