获取上传文件的本地路径

在Cesium上显示要导入的航线区域,要导入的格式是.kml,用到Cesium中的Cesium.KmlDataSource.load()方法,

方法参数如下:

获取上传文件的本地路径

方法1:使用url

在参数data中需要传入 url ,目前在项目中使用的是el-upload,获取不到上传文件的本地路径。后期找到方法使用FileReader 来读取,方法返回的是一个DataURL,在fileChange方法里面写:

let reader = new FileReader()

reader.readAsDataURL(file.raw);

// 转换成功后的操作,reader.result即为转换后的DataURL

reader.οnlοad=()=>{ console.log(reader.result) }

方法2:使用blob

let URL = window.URL || window.webkitURL;

let blob = URL.createObjectURL(file.raw);

 

上传后,获取kml中数据:

let viewer = new Cesium.Viewer('cesiumContainer');

let options = {
    camera : viewer.scene.camera,
    canvas : viewer.scene.canvas
};

viewer.dataSources.add(Cesium.KmlDataSource.load(blob, options)).then(function (dataSource) {

let rider = dataSource.entities.values[0];

thisObj.viewer.flyTo(rider);

 });

 

注:参考https://www.cnblogs.com/peatechen/p/11174195.html