PhoneGap скачать изображение с URL на IOS

Я использую phonegap и пытаюсь загрузить обои jpgs в рулон камеры устройства. Я проверял это в приложении для мобильного телефона, которое подключалось к серверу телефона. Код, который я использую, выглядит следующим образом:

function DownloadFile(URL, Folder_Name, File_Name) {
   if (URL == null && Folder_Name == null && File_Name == null) {
      return;
   }
   else {
      download(URL, Folder_Name, File_Name); //If available download function
   }
}

function download(URL, Folder_Name, File_Name) {
//step to request a file system 
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, fileSystemSuccess,   fileSystemFail);

function fileSystemSuccess(fileSystem) {
   var download_link = encodeURI(URL);
   ext = download_link.substr(download_link.lastIndexOf('.') + 1); //Get extension of URL

   var directoryEntry = fileSystem.root; // to get root path of directory
   directoryEntry.getDirectory(Folder_Name, { create: true, exclusive: false }, onDirectorySuccess, onDirectoryFail); // creating folder in sdcard
   var rootdir = fileSystem.root;
   var fp = rootdir.toURL(); // Returns Fulpath of local directory

   fp = fp + Folder_Name +"/"+ File_Name + ".jpg"; // fullpath and name of the file which we want to give
   filetransfer(download_link, fp);
}

function onDirectorySuccess(parent) {
    // Directory created successfuly
}

function onDirectoryFail(error) {
    //Error while creating directory
    alert("Unable to create new directory: " + error.code);
}

function fileSystemFail(evt) {
    //Unable to access file system
    alert(evt.target.error.code);
 }
}

function filetransfer(download_link, fp) {
   var fileTransfer = new FileTransfer();
   // File download function with URL and local path
   fileTransfer.download(download_link, fp,
                function (entry) {
                    console.log("cdvfile://localhost/persistent/" + fp);
                    alert("download complete: " + entry.fullPath.slice(1));
                },
             function (error) {
                 //Download abort errors or download failed errors
                 alert("download error source " + error.source);
                 alert("download error target " + error.target);
                 //alert("upload error code" + error.code);
             }
        );
   }

Что интересно, когда я нажимаю кнопку, которая запускает эти методы, я получаю предупреждение о том, что загрузка завершена: имя_файла. Тем не менее, изображение никогда не появляется в моем фотоаппарате. Это проблема iOS? Я пытался смотреть на это изначально, а не на симуляцию с подачей телефонного промежутка, и это не имеет значения.

Я также попытался file_path, как так "cdvfile://localhost/persistent/"+Folder_name+"/"+ File_name+"."+ext;без разных результатов.

В посте разницы http://community.phonegap.com/nitobi/topics/file_download_not_working_properly_on_ios ответом для iOS было использовать

<access origin="*" />

Я убедился, что использовал это в моем файле config.xml.

У кого-нибудь есть идеи относительно того, что мне не хватает? Этот код работал для других, и, как ни странно, он утверждает, что завершается правильно.

0 ответов

Другие вопросы по тегам