我有一些问题需要实施一个解决方案,以绕过"下载" Internet Explorer中的属性。
用户可以下载三种类型的文件:
Chrome和FF没问题。它的工作原理如下:
var tempCSV = json2CSV(geojson);
var csv = "text/csv;charset=utf-8," + encodeURIComponent(tempCSV);
$('#downloadCSV').attr('href', "data:" + csv);
由于IE不像其他人一样,我使用msSaveBlob来处理它:
if (navigator.msSaveBlob) {
var blobCSV = new Blob([tempCSV]);
$('#downloadCSV').click(function (e) {
navigator.msSaveBlob(blobCSV, "geo.csv");
e.preventDefault();
});
它适用于CSV和KML文件。 但不是geoJSON。我收到这行错误:
var blobGeoJSON = new Blob([tempGeoJSON]);
我收到此错误:" InvalidStateError"
问题可能来自哪里?
答案 0 :(得分:1)
好的,最后再次阅读我的代码后,我发现了问题。
你必须在用它创建一个blob之前对你的json进行字符串化,如下所示:
var tempGeoJSON = JSON.stringify(geojson);
而不是:
var tempGeoJSON = geojson;