Phonegap - HTML不显示存储中的图像

时间:2014-12-05 02:25:14

标签: html cordova file-transfer

我正在使用FileTransfer插件从远程服务器下载图像。

图像存储在“storage / emulated / 0 /”中 - 使用以下代码:

function downloadFile(fileDownloadName){
    //console.log('downloadFile');
    window.requestFileSystem(
        LocalFileSystem.PERSISTENT,
        0,
        function(fileSystem){
            //console.log('onRequestFileSystemSuccess');
            fileSystem.root.getFile(
                'dummy.html',
                {create: true, exclusive: false},
                function(fileEntry){
                    //console.log('onGetFileSuccess!');
                    var path = fileEntry.toURI().replace('dummy.html', '');
                    var fileTransfer = new FileTransfer();
                    fileEntry.remove();

                    fileTransfer.download(
                        'https://www.myserver.com/imagens/' + fileDownloadName,
                        path + fileDownloadName,
                        function(file) {
                            //console.log('download complete: ' + file.toURI());
                            return path + fileDownloadName;
                        },
                        function(error) {
                            console.log('download error source ' + error.source);
                            console.log('download error target ' + error.target);
                            console.log('upload error code: ' + error.code);
                        }
                    );  
                },
                fail
            );
        },
        fail
    );
}

所以,我将路径+ fileDownloadName指向我图像的SRC,但图像没有出现。

var location = path + fileDownloadName;
window.resolveLocalFileSystemURL(location, function(oFile) {
   oFile.file(function(readyFile) {
      var reader= new FileReader();
      reader.onloadend= function(evt) {
      $(".circle-perfil").css('background-image', 'url(' + evt.target.result + ')');
   };
   reader.readAsDataURL(readyFile); 
});

我有什么不对劲吗?我应该将图像存储在另一个文件夹中吗?如果是的话,该怎么做?

1 个答案:

答案 0 :(得分:0)

如果您使用的是 img 标记,请将其图片设置为:

$(".circle-perfil").css('background', 'url(' + evt.target.result + ')');

$(".circle-perfil").css('content', 'url(' + evt.target.result + ')');

如果 div span

$(".circle-perfil").css('background-image', 'url(' + evt.target.result + ')');

我把它设置为:

var image = document.getElementById('cameraPic');
image.src = 'path/of/image file';