달력

3

« 2024/3 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'FileTransfer'에 해당되는 글 1

  1. 2012.10.08 Cordova 에서 서버로 이미지 파일 전송하기. 1


1. html 파일 소스 코드

        function uploadPhoto(imageURI) {

            var options = new FileUploadOptions();

            options.chunkedMode = false;

            options.fileKey="file";

            options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);

            options.mimeType="image/jpeg";


            var params = new Object();

            params.value1 = "test";

            params.value2 = "param";


            options.params = params;

        

            var fileTransfer = new FileTransfer();

            fileTransfer.upload(

imageURI, 

"http://192.168.1.3:8080/MobileServer/upload.jsp", 

win, 

fail, 

options

);

        }


2. 서버 소스 코드

ServletFileUpload upload = new ServletFileUpload(factory);

// maximum size before a FileUploadException will be thrown

upload.setSizeMax(5000000);


List<?> fileItems = null;

try{

fileItems = upload.parseRequest(request);

}catch(FileUploadException fue){

fue.printStackTrace();

}


if( fileItems != null ) {

System.out.println();

FileItem fi = null;

for (Object obj : fileItems) {

fi = (FileItem) obj;

if (fi.isFormField()) {

parseFormField(fi);

System.out.println("@" + fi);

} else {

storedFileName = "/upload/_android_" + fi.getName();

fi.write(createStoredFile(storedFileName));

}

}

}


3. 서버쪽 library 파일

 - commons-fileupload-1.2.1.jar

 - commons-httpclient-3.1.jar

 - commons-io-2.0.1.jar


4. 주의할 점

 - 오류가 발생할 경우 FileUploadOptions 의 checkedMode 를 false 로 한다.(꼭 false 로 하지 않아도 된다)

   o chuckedMode

      true  : 서버쪽에 파일을 stream 으로 전송함(HTTP header 에 content-length 설정 안됨)

      false :  파일을 전송하기 전에 메모리에 올려놓고 전송함(HTTP header 에 content-length 설정됨)

 - FIleTransferError.CONNECTION_ERR 오류가 발생할 경우 서버쪽의 로그를 잘 뒤져본다.

   (서버쪽에서 Exception 이 발생해도 이 에러가 발생함)

:
Posted by 뽀기