我正在使用cordova-plugin-file将数据图像保存到用户iOS手机。这是我的代码
saveBlobAsImageFile(folderpath, filename, blob) {
let vm = this;
const onError = function(msg) {
vm.$notify({
message: vm.$t("Poster.save.errorLocal"),
background: "#b41800"
});
};
window.resolveLocalFileSystemURL(folderpath, function(dir) {
console.log("Access to the directory granted succesfully");
dir.getFile(filename, { create: true }, function(file) {
console.log("File created succesfully.");
file.createWriter(function(fileWriter) {
console.log("Writing content to file");
fileWriter.write(blob);
vm.$notify({
message: vm.$t("Poster.save.successLocal"),
background: "#04A777"
})
}, onError);
}, onError);
}, onError);
}
对于folderpath:我尝试了所有这5种方法:
let folderpath = cordova.file.syncedDataDirectory;
let folderpath1 = cordova.file.documentsDirectory;
let folderpath2 = cordova.file.dataDirectory;
let folderpath3 = cordova.file.cacheDirectory;
let folderpath4 = cordova.file.tempDirectory;
运行功能保存后,日志显示写入成功,但是当我进入模拟器/ iphone中的文件或库时。我找不到任何东西。我有什么需要设置的吗?
更新:当我在模拟器中运行时,单击保存后,我在Mac的这些文件夹中找到了保存的文件:
file:///Users/ngoctuan001/Library/Developer/CoreSimulator/Devices/2964FE69-A5FE-4516-B8F1-C45488DBE2B5/data/Containers/Data/Application/1EF9FF0C-903E-481F-87A0-9A1CEDA4DE5D/Library/Cloud/
file:///Users/ngoctuan001/Library/Developer/CoreSimulator/Devices/2964FE69-A5FE-4516-B8F1-C45488DBE2B5/data/Containers/Data/Application/1EF9FF0C-903E-481F-87A0-9A1CEDA4DE5D/Documents/
file:///Users/ngoctuan001/Library/Developer/CoreSimulator/Devices/2964FE69-A5FE-4516-B8F1-C45488DBE2B5/data/Containers/Data/Application/1EF9FF0C-903E-481F-87A0-9A1CEDA4DE5D/Library/NoCloud/
file:///Users/ngoctuan001/Library/Developer/CoreSimulator/Devices/2964FE69-A5FE-4516-B8F1-C45488DBE2B5/data/Containers/Data/Application/1EF9FF0C-903E-481F-87A0-9A1CEDA4DE5D/Library/Caches/
但是,当我转到模拟器文件和库时,找不到这些图像,似乎它们保存在错误的路径中?
我改为更改为cordova-plugin-x-social-sharing
以保存到照片。似乎触摸android之类的iOS文件系统并不容易。如果有帮助。