public class GlueMultipartRequest extends Object
File Upload Size 변경 방법 1: glue.properties에 다음과 같이 선언. 단, Integer.MAX_VALUE 가 상한값임. max.upload.file.size=1000000000 이 size를 넘으면 connection error를 발생하게 된다. 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" - JAVA Option 설정 (선택) : "-Dtemp.bigfile.path=임시파일의 절대경로" 대용량 File을 임시 파일로 먼저 저장하여 사용하게 된다. 동일 파일명에 대해서 임시 파일은 overwrite 된다 (since ver.4.2.9) 제약 사항: - 기존 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 and Description |
---|
GlueMultipartRequest(ServletRequest request)
생성자(constructor).
|
Modifier and Type | Method and Description |
---|---|
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들을 저장하길 원할때 사용한다.
|
public GlueMultipartRequest(ServletRequest request) throws Exception
방법 1: glue.properties에 다음과 같이 선언 max.upload.file.size=1000000000 방법 2: 다음과 같이 구현 reqeust.setAttribute(GlueWebConstants.MAXUPLOADSIZE,"1000000000");
request
- HTTP RequestException
- Request를 parsing 하는 도중 에러가 발생되면 throw 된다.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 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
- fileCopyright © 2013–2021 POSCO ICT. All rights reserved.