2012-06-13 4 views
1

xcode로 mac os에서 phonegap 프로젝트를 개발 중입니다. xcode에서 cordova 기반 응용 프로그램을 만들면 cordova-1.6.0.js가 자동으로 만들어집니다. 내 서버에 svg 파일을 보내려면 fileupload 플러그인을 사용하고 있습니다. fileupload.js에 다음과 같은 난 ios에서 fileupload 플러그인이 작동하지 않습니다.

var FileUploader = function() { 
    alert("gi"); 
} 

이 경고

가 작동, 경보 fileuplaoder 기능을 작성했습니다,하지만 난 업로드 기능에서의 aler을 줄 때

FileUploader.prototype.upload = function(server, file, params, fileKey, fileName, mimeType, success, fail, progress) { 
    alert("upload"); 
    this._doUpload('upload', server, file, params, fileKey, fileName, mimeType, success, fail, progress); 
}; 

이 경고가 작동하지 않습니다. HTML 페이지에서이 플러그인에 대한 내 전화는 fileupload.js에서

window.plugins.fileUploader.upload('http:192.168.1.54:8080/downloadFiles', '/Users/User/Library/Application Support/iPhone Simulator/5.0/Applications/408DBBC7-67F7-4E8B-B41C-663CDC0377B5/Documents/image5_1.jpg.txt.svg', {foo: 'bar'}, 'myPhoto', 'image5_1.jpg.txt.svg', 'image/svg', 
               function(result) { 
               console.log('Done: ' + result); 
               }, 
               function(result) { 
               console.log("Error: " + result); 
               }, 
               function(loaded, total) { 
               var percent = 100/total * loaded; 
               console.log('Uploaded ' + percent); 

               } 
               ); 

이 cordova.addConstructor의 방법이있다. 그러나 생성 된 cordova.1.6.0.js 파일에는 그러한 방법이 없습니다. 나는 무슨 일이 일어나고 있는지 몰라. pl이 플러그인을 작동하도록 도와주세요.

+0

안녕하세요, pl 내 위의 질문에 대한 도와주세요. 대답이 필요해. – mmathan

답변

0

해결책을 찾았습니다. 거기 코드와 파일을 업로드하고 다운로드 옵션이 API 자체입니다. 그것의 일 벌금. 코드는

document.addEventListener("deviceready", onDeviceReady, false); 

      // Cordova is ready 
      // 
      function onDeviceReady() { 
       window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail); 
      } 

      function gotFS(fileSystem) { 
       fileSystem.root.getFile("image5_2.jpg.svg", {create: true, exclusive: false}, gotFileEntry, fail); 
      } 

      function gotFileEntry(fileEntry) { 
       var localpath=fileEntry.fullPath; 
       uploadPhoto(localpath); 
       //fileEntry.createWriter(gotFileWriter, fail); 
      } 

      function uploadPhoto(imageURI) { 
       alert(imageURI); 
       var options = new FileUploadOptions(); 
       options.fileKey="file"; 
       options.fileName="image5_2.jpg.svg"; 
       options.mimeType="image/svg+xml"; 

       var params = new Object(); 
       params.value1 = "test"; 
       params.value2 = "param"; 

       options.params = params; 

       var ft = new FileTransfer(); 
       ft.upload(imageURI, "http://192.168.1.54:8080/POC/fileUploader", win, fail, options); 
      } 

      function win(r) { 
       console.log("Code = " + r.responseCode); 
       console.log("Response = " + r.response); 
       console.log("Sent = " + r.bytesSent); 
      } 

      function fail(error) { 
       alert("An error has occurred: Code = " + error.code); 
       console.log("upload error source " + error.source); 
       console.log("upload error target " + error.target); 
      } 

pl입니다.

관련 문제