如何将base 64编码为.kml文件?
我将kml文件转换为base 64.现在我想要编码base 64再次变成kml文件?这可能吗?我转换kml文件是这样的..如何将base 64编码为.kml文件?
$scope.myFunction = function() {
var files = document.getElementById('myFile').files;
if (files.length > 0) {
getBase64(files[0]);
}
}
function getBase64(file) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function() {
console.log(reader.result);
};
reader.onerror = function (error) {
console.log('Error: ', error);
};
}
如何将kml文件存储到数据库?
它肯定是可能的,你只需要解码base64并将结果再次转换成文件。
function base64ToFile(base64){
content=atob(base64);
var file = new Blob([content], {type: 'kml'});
//You can now asign the file to a link to download, send it with ajax, etc..
a.href = URL.createObjectURL(file);
}
请记住,你不能写入文件直接拖到从JavaScript盘,因为这将是一个安全问题,你需要牛逼
非常感谢先生,先生后续问题我想要在谷歌地图查看这个kml。 https://developers.google.com/maps/documentation/javascript/examples/layer-kml我想更改这个kml文件 –
未能在'Window'上执行'atob':要解码的字符串编码不正确。错误sir –
你需要确保base64字符串,你提供的函数是一个正确格式化的base64字符串,如果你发送base64字符串,你从你的函数返回,我可以尝试看看什么是错的。 –
[从JavaScript的一个base64字符串创建的Blob可能的复制](https://*.com/questions/16245767/creating-a-blob-from-a-base64-string-in-javascript) – Endless
你为什么要将事件转换为base64? – Endless