【phonegap】下載文件



<!-- 打包的時候phonegap自己會添加這個文件--> <script type="text/javascript" charset="utf-8" src="cordova.js"></script> <!-- <script type="text/javascript" charset="utf-8" src="js/FileTransfer.js"></script> --> <script type="text/javascript" charset="utf-8"> // Wait for device API libraries to load // document.addEventListener("deviceready",onDeviceReady,false); // device APIs are available // function onDeviceReady() { alert('onDeviceReady2222'); try { /* window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem; window.resolveLocalFileSystemURL = window.resolveLocalFileSystemURL || window.ebkitResolveLocalFileSystemURL; //根據URL取得文件的讀取權限 */ //查找是否有download這個文件夾,沒有則創建,然后找到這個文件夾的絕對路徑 window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) { fileSystem.root.getDirectory("download", { create: true, exclusive: false }, function (entry) { //網上流傳的資料中都是使用fullPath,在這里我獲取到的是相對目錄,在下載時使用會報錯,所以換做了toURL() //這是一個全局全局變量,用以保存路徑 fullPath = entry.toURL(); alert(fullPath.toString() + '創建文件夾成功'); //console.log(fullPath); }, function () { console.log('創建文件夾失敗'); alert('創建文件夾失敗'); }); }, function () { console.log('創建文件夾失敗'); alert('創建文件夾失敗'); }); } catch (e) { alert(e.name + ":" + e.message); } }
function downloadFile() {
        alert(androidFile);
  
        try {
          // onDeviceReady();
          var ft = new FileTransfer();
          var uri = encodeURI(androidFile);
          var fileURL = fullPath + androidFile.substr(androidFile.lastIndexOf('/') + 1);
          alert("准備下載"+fileURL);

          ft.download(
              uri,
              fileURL,
              function(entry) {
                  OpenFile(entry.fullPath);
                  console.log("download complete: " + entry.toURL());
              },
              function(error) {
                  alert("download error source " + error.source);
                  alert("download error target " + error.target);
                  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=="
                  }
              }
          );
        }
        catch (e) {
          alert(e.name + ":" + e.message);
        }
      }
<div>                  
                  <a id="androidurl"  href="#" onclick="downloadFile();return false;"><img class="productImg" src="res/android.png" alt="ANDROID" width="80px" height="80px" />Android版</a>
              </div>

 前提是安裝插件:

cordova create my-app

cd my-app

cd plugin

cordova plugin add org.apache.cordova.file-transfer

cordova plugin add org.apache.cordova.file

cordova build android

測試版本是cordova 4.1.2


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM