gpt4 book ai didi

ios - 在 Cordova 中将照片保存到 iOs 相册

转载 作者:行者123 更新时间:2023-11-29 02:54:27 26 4
gpt4 key购买 nike

有没有办法使用 Cordova 从 URL 下载照片并将其保存到 iO 中的相册/相机胶卷?

我使用 FileTransfer 下载照片,但它们不像 Android 图库中那样显示。我想应该有一些插件可以实现这一点,但我找不到。还是其他一些方法?

如果在 Cordova 中无法完成,是否可以完成,这样我就可以在 Objective C 中为 Cordova 创建插件?

最佳答案

您需要像这样使用 CLI 安装 Canvas2Image:

cordova plugin add https://github.com/devgeeks/Canvas2ImagePlugin.git

(或者如果您使用它,则将“cordova”替换为“phonegap”。)

接下来,您需要添加一个函数(在本例中为 saveImageToPhone())来调用您刚刚添加到项目中的插件。这个函数将从你的按钮选择器中调用。例如:

<button onclick="saveMyPic("path/to/my/pic.jpg")">Save a pic to library</button>

它不一定是一个按钮,显然,您可以调用函数并将其传递给您喜欢的任何 URL。此“URL”可以是您从 FileTransfer 成功返回的路径。

这是我的代码:

function saveMyPic(myURL){
var MEsuccess = function(msg){
console.info(msg);
};

var MEerror = function(err){
console.error(err);
};

saveImageToPhone(myURL, MEsuccess, MEerror);
}


function saveImageToPhone(url, success, error) {
var canvas, context, imageDataUrl, imageData;
var img = new Image();
img.onload = function() {
canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
context = canvas.getContext('2d');
context.drawImage(img, 0, 0);
try {
imageDataUrl = canvas.toDataURL('image/jpeg', 1.0);
imageData = imageDataUrl.replace(/data:image\/jpeg;base64,/, '');
cordova.exec(
success,
error,
'Canvas2ImagePlugin',
'saveImageDataToLibrary',
[imageData]
);
}
catch(e) {
error(e.message);
}
};
try {
img.src = url;
}
catch(e) {
error(e.message);
}

}现在只需从任何地方调用第一个函数。如果它有效,你会得到一个 console.log 说

图像已保存!

希望对你有所帮助!

关于ios - 在 Cordova 中将照片保存到 iOs 相册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24091415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com