2014-06-09 123 views
0

我是新的stackoverflow。這是我第一次使用Phonegap,真的遇到了問題。我需要製作一個表格,並通過點擊每個元素開始下載PDF文件並創建一個新文件夾(如果它不存在)。但我甚至無法使用phonegap編譯後下載文件。我看到的所有例子,只需通過onload下載一個圖像。Phonegap Filetransfer下載

<script type="text/javascript"> 
function downloadFile(){ 
var url = 'http://http://legalespymes.com.ar/legalespymes/abonos/aseguradoras.pdf'; 
    var filePath = 'local/path/to/your/file'; 
    var fileTransfer = new FileTransfer(); 
    var uri = encodeURI(url); 
    fileTransfer.download(
     uri, 
     filePath, 
     function(entry) { 
      console.log("download complete: " + entry.fullPath); 
     }, 
     function(error) { 
      console.log("download error source " + error.source); 
      console.log("download error target " + error.target); 
      console.log("upload error code" + error.code); 
     }, 
     false, 
     { 
      headers: { 
       "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA==" 
      } 
     } 
    ); 
} 
</script> 

HTML

<td onclick="downloadFile()">Row 1</td> 
+1

你有什麼錯誤?您是否啓用了FileTransfer插件並在您的config.xml中指定了正確的軟件包名稱? –

+0

在嘗試完成之前是否觸發了「deviceready」事件? –

+0

檢查此問題http://stackoverflow.com/questions/24124217/cordova-filetransfer-download-error/24124917#24124917 – Aravin

回答

0

所有的URL首先是無效的HTTP包括多次

var url = 'http://http://legalespymes.com.ar/legalespymes/abonos/aseguradoras.pdf'; 

改變這樣

var url = 'http://legalespymes.com.ar/legalespymes/abonos/aseguradoras.pdf'; 

如果您在該目錄內創建多個目錄並存儲文件,這可能會造成問題(例如[project/sample/local]不是同一時間創建的。所以文件沒有下載)。並確保文件下載插件在config.xml中可用並指定phonegap版本。

使用此代碼在時間創建多個目錄。

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem; 
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail); 

// create directory 
function gotFS(fileSystem) { 
    window.FS = fileSystem; 
    var printDirPath = function(entry){ 
     console.log("Dir path - " + entry.fullPath); 
    } 

    createDirectory("local/path/to/your", printDirPath); 
} 
function fail() { 
    console.log("failed to get filesystem"); 
} 

function createDirectory(path, success){ 
    var dirs = path.split("/").reverse(); 
    var root = window.FS.root; 
    var createDir = function(dir){ 
     console.log("create dir " + dir); 
     root.getDirectory(dir, { 
      create : true, 
      exclusive : false 
     }, successCB, failCB); 
    }; 

    var successCB = function(entry){ 
     root = entry; 
     if(dirs.length > 0){ 
      createDir(dirs.pop()); 
     }else{ 
      success(entry); 
     } 
    }; 

    var failCB = function(){ 
    }; 

    createDir(dirs.pop()); 
} 

現在你寫你的文件下載代碼。

相關問題