我正在尝试使用.csv扩展名下载的JavaScript动态创建数据,但无法将文件名与下载相关联。这是一段代码:
var data = '1,2,3';
window.location =
"data:application/csv;charset=UTF-8;content-disposition:attachment;filename=export.csv,"
+ encodeURIComponent(data);
此下载,但文件名是通用的,没有.csv扩展名。
我可以使用以下PHP代码执行此服务器端:
<?php
header('Content-type: text/csv');
header('Content-disposition: attachment;filename=export.csv');
echo "1,2,3";
?>
此外,如果我背对着墙,我可以修改我的Javascript以将Ajax发送到服务器并获得回报,但我更喜欢纯Javascript解决方案。是否有独立于浏览器的无Flash方式?
修改 的
有人指出这个问题可能是重复的。我做了goo-diligence并检查了以前的SO文章。我仍在问这个,因为自那些问题已经过了一段时间,所以我希望:
此外,如果它使问题更加突出,我特别要求将一种内容标题插入到数据URI中(根据主题),这是对其他问题的一种扭曲。
提前致谢。