我想在本地使用名称和扩展名将画布另存为image.jpeg / jpg / png。 我使用了以下下载属性:
<a download="change_this.jpg" id="saveImage"><img src="image/save.png" alt=""></a>
通过设置默认文件名和扩展名,我可以将画布下载为图像。因此,我尝试了一些对我来说似乎合理但又无济于事的事情:
saveImage.addEventListener('click', function(){
var filename = prompt('Filename with extension (png/jpeg/jpg) : ');
var img_name = filename.substr(0, filename.indexOf("."));
var extension = filename.substr(filename.indexOf(".") + 1);
if(filename !== null){
if(extension == "png"){
save(img_name, extension);
}else if(extension == "jpg" || extension == "jpeg"){
save(img_name, extension);
}
}
}, false);
和保存功能:
function save(img_name, extension){
var req_type = 'image/' + extension;
var image = canvas.toDataURL(req_type);
image.download = img_name + "." + extension;
this.href = image;}
当然我正确选择了ID为ID的元素:the是全局变量。
可能是因为单击1个元素同时执行两项操作而无法使用。
感谢您的帮助!