JavaScript,Canvas:在本地保存时更改文件名

时间:2018-11-01 11:23:24

标签: javascript image canvas

我想在本地使用名称和扩展名将画布另存为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个元素同时执行两项操作而无法使用。

感谢您的帮助!

0 个答案:

没有答案