Typescript 无法从Ionic中的cordova文件设置img src

Typescript 无法从Ionic中的cordova文件设置img src,typescript,ionic-framework,cordova-plugins,ionic3,cordova-plugin-file,Typescript,Ionic Framework,Cordova Plugins,Ionic3,Cordova Plugin File,我正在使用cordova插件文件传输和cordova插件文件下载用户头像并在应用程序中本地显示它们。我正在成功获取图像并将其存储在文件中。dataDirectory根据:。当我检查目录中的文件时,它说它存在……但是当我尝试将文件的绝对路径设置为标记时,我什么也看不到。我动态地拉入路径,但即使我硬编码它…什么都没有 保存、加载化身的代码: saveAvatar() { var downloadUrl = this.user.avatar + "?type=small&sz=75";

我正在使用
cordova插件文件传输
cordova插件文件
下载用户头像并在应用程序中本地显示它们。我正在成功获取图像并将其存储在
文件中。dataDirectory
根据:。当我检查目录中的文件时,它说它存在……但是当我尝试将文件的绝对路径设置为
标记时,我什么也看不到。我动态地拉入路径,但即使我硬编码它…什么都没有

保存、加载化身的代码:

saveAvatar()
{
    var downloadUrl = this.user.avatar + "?type=small&sz=75";

    console.log("Downloading Avatar from: " + downloadUrl);
    console.log("Storing file to: " + this.file.dataDirectory + this.user.id + '/avatar.jpg');


    this.fileTransfer.download(downloadUrl, this.file.dataDirectory + this.user.id + '/avatar.jpg')
    .then((entry) => {
        console.log('~~~~~ download complete: ' + entry.toURL());
    }, (error) => {
        console.log('Unable to download avatar: ' + error);
    });
}

loadAvatar()
{
    var userDir = this.file.dataDirectory + this.user.id;
    var fileName = 'avatar.jpg';

    this.file.resolveDirectoryUrl(userDir)
    .then((directoryEntry: DirectoryEntry) => {
        console.log("Dir Resolved: " + directoryEntry.isDirectory);

        this.file.getFile(directoryEntry, fileName, { create: false })
        .then(file => {
            console.log("File Found: " + file.toURL());
            this.avatars[this.user.id] = file.toURL();
        })
        .catch(err => console.log('Unable to load avatar: ' + err));
    })
    .catch(err => console.log('Unable to Resolve Directory Entry: ' + JSON.stringify(err)));
}
存储图像的绝对路径如下所示:

file:///data/user/0/package_name_here/files/1/avatar.jpg
或在外部存储上尝试时:

file:///storage/emulated/0/Android/package_name_here/files/1/avatar.jpg

非常感谢您的帮助

解决了这个问题。虽然我是在安卓设备上运行的,但我是在爱奥尼亚现场运行的,它不适用于所有的cordova插件。因此,我不需要运行安卓-l-c,而只需要运行安卓系统

哦..这是不是意味着
插件
不能在设备本身上使用
-l
?不,我确实有一些插件可以使用
l
,这让我很困惑,但我注意到有些插件只有在没有它的情况下进行构建时才会运行。所以我不知道这有什么道理,但很高兴知道,因为它可以在将来省去一些麻烦。是的,当我们需要测试
插件时,使用这个
爱奥尼亚cordova运行安卓--prod--device
,总是很好的。