2013-08-28 31 views
4

我正在phonegap android中創建一個應用程序,我想將文件上傳到服務器。我想要的是,當用戶點擊上傳按鈕時,將從用戶選擇要上傳的文件的位置打開選項對話框,然後當用戶點擊保存按鈕時,文件將被上傳。對話框就像我們在桌面上的郵件中點擊附加按鈕時看到的一樣。 任何人都可以告訴我如何在android手機中做到這一點? 任何幫助表示讚賞。如何在phonegap和jquery mobile上載任何類型的文件?

在此先感謝。

回答

4

使用phonegap文件傳輸方法 FileTransfer對象允許您向服務器上傳文件或從服務器下載文件。

屬性

  1. onprogress:與每當一個新的數據塊被傳送的ProgressEvent調用。 (功能)

方法

  • 上傳:將文件發送到服務器。

  • 下載:從服務器下載文件。

  • abort:中止正在進行的轉移。

樣品 //!假設變量fileURI所包含一個有效的URI到一個文本文件中的設備上

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

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

var options = new FileUploadOptions(); 
options.fileKey = "file"; 
options.fileName = fileURI.substr(fileURI.lastIndexOf('/') + 1); 
options.mimeType = "text/plain"; 

var params = {}; 
params.value1 = "test"; 
params.value2 = "param"; 

options.params = params; 

var ft = new FileTransfer(); 
ft.upload(fileURI, encodeURI("http://some.server.com/upload.php"), win, fail, options); 

您可以瀏覽並選擇使用

var source = navigator.camera.PictureSourceType.PHOTOLIBRARY; 
navigator.camera.getPicture(successFn, errorFn, { quality: 50, 
     destinationType: this.photoDestinationType.FILE_URI, 
     sourceType: source, 
     mediaType: navigator.camera.MediaType.ALLMEDIA }); 

更多信息的文件檢查link

+0

我應該怎麼做,如果想要上傳像.pdf,.png,.jpg,.txt文件bcz它取決於用戶他/她想上傳什麼樣的文件,所以我想要的是它會打開一個SD卡,然後用戶將選擇用戶想要上傳的內容。 –

+0

@NeeravShah在fileURI中檢查編輯, –

+0

如何設置目錄的路徑來選擇文件,如果我們使用navigator.camera,那麼用戶將只能選擇圖像文件,或者他們將能夠選擇任何擴展文件上傳抱歉問你這樣的問題我是新來的,如果你能舉一個完整的例子,我會很高興。 –

相關問題