我有jqplot,我想点击一个按钮作为jpg或png下载它。我可以用
来做$('#chartdiv').jqplotSaveImage();
(chartdiv是带有情节的div)
它仅适用于chrome和firefox。在IE中它不起作用。我在IE 11中尝试过。
我在chrome中有另一个问题,下载的图像文件名是'download',在firefox中它是一些带有.part扩展名的有线名称(例如: - ka8ShgKH.part)。有没有办法将情节标题作为下载文件名?
谢谢。$("#btnSaveImg").on("click", LoadImage);
LoadImage = function(){
$('#chartdiv').jqplotSaveImage();
}
修改 jqplotsaveimage函数
$.fn.jqplotSaveImage = function() {
var imgData = $(this).jqplotToImageStr({});
if (imgData) {
window.location.href = imgData.replace("image/png", "image/octet-stream");
}
};
答案 0 :(得分:0)
我正在使用jqPlot,我在IE中使用上述内容时遇到了问题,即使它在Chrome中有效,我也无法命名下载的图像。
我发现此案例force download base64 image和http://danml.com/download.html。这在IE和Chrome的更高版本中都有效,您可以使用自己的文件名保存图像。 download.js不仅可用于图像。
//include the downoad.js file from http://danml.com/download.html
<button id="dwnl-chart-1" onClick="$.fn.jqplotSaveImage('chart-1', 'chart_name">Download as image</button>
$.fn.jqplotSaveImage = function(id, filename) {
var imgData = $('#'+id+'-parent').jqplotToImageStr({});
if (imgData) {
download(imgData, filename+'.png', "image/png");
}
};