Javascript:如何用特定的文件名保存图像,而不是download.png

Javascript: How to Save Image with a particular filename instead of download.png

本文关键字:png download 图像 保存 何用特 文件名 Javascript      更新时间:2023-09-26

我试图下载helloWorld.png文件,但它总是保存为download.png。

你能帮我找出我错过了什么吗?

var $container = $('#svg-container'),
        // Canvg requires trimmed content
    content = $container.html().trim(),
    canvas = document.getElementById('thecanvas');
    // Draw svg on canvas
    canvg(canvas, content);
    // Change img be SVG representation
    var theImage =  canvas.toDataURL('image/png');
    $('#svg-img').attr('src', theImage);

function downloadWithName(uri, name) {
    function eventFire(el, etype){
        if (el.fireEvent) {
            (el.fireEvent('on' + etype));
        } else {
            var evObj = document.createEvent('Events');
            evObj.initEvent(etype, true, false);
            el.dispatchEvent(evObj);
        }
    }
    var link = document.createElement("a");
    link.download = name;
    link.href = uri;
    eventFire(link, "click");
}
downloadWithName(theImage, "helloWorld.png")
http://jsfiddle.net/shanthisivanesan/a2FLx/22/

试试这个jquery代码,它可以在最新的Firefox上工作,(其中uri是数据uri, name是图像文件名)

$('<a>',{
    type: "submit",
    download: name,
    href: uri,
    id: 'download_link'
}).appendTo('body');

$('a#download_link')[0].click();