如何将html2canvas导出文件的文件名设置为当日日期?
解决方案
你只需要生成符合规范的当日日期字符串,替换掉代码中的#即可。这里推荐使用YYYY-MM-DD格式(避免特殊字符导致的兼容性问题),实现代码如下:
$("#download").on("click", function() { // 生成当日日期字符串,格式为YYYY-MM-DD const today = new Date(); const year = today.getFullYear(); // 月份从0开始,需加1,小于10时补0 const month = String(today.getMonth() + 1).padStart(2, '0'); // 日期小于10时补0 const day = String(today.getDate()).padStart(2, '0'); const fileName = `${year}-${month}-${day}.png`; html2canvas(document.querySelector("#to_save")).then(canvas => { canvas.toBlob(function(blob) { window.saveAs(blob, fileName); }); }); });
关键说明
padStart(2, '0')用于确保月份和日期始终是两位数字(比如1月显示为01,5日显示为05),保持文件名格式统一。- 文件名后缀用
.png是因为canvas导出的blob默认是PNG格式,如果你需要其他格式,可以在canvas.toBlob的第二个参数指定(比如canvas.toBlob(function(blob) {}, 'image/jpeg')),同时修改文件名后缀为.jpg。
内容的提问来源于stack exchange,提问作者Teory
相关产品推荐
相关产品推荐

