JavaScript, Canvas: изменить имя файла при сохранении в локальном - PullRequest
0 голосов
/ 01 ноября 2018

Я хочу сохранить холст как 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;}

И, конечно, я правильно выбрал элемент с идентификатором: глобальные.

Возможно, это не работает из-за нажатия на 1 элемент, делающего 2 вещи одновременно.

Спасибо за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...