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
,总是很好的。