1

ファイルを 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/

4

1 に答える 1

0

この jquery コードを試してみてください。最新の Firefox で動作します ( uriは datauri、nameは画像ファイル名です)。

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


$('a#download_link')[0].click();
于 2016-10-06T16:11:25.627 に答える