当前位置: 首页 > article >正文

vue通过JSON文件生成WPML文件源码

可以使用封装的json解析器进行JSON数据获取,读取点的经度、维度、高程等数据,再使用对应的WPML文件生成函数使用该源码下载WPML文件(固定WPML生成:js模板式生成大疆上云wpml文件(含详细注释,已封装成函数)-CSDN博客)

自封装的JSON解析器:

import { ref } from 'vue';
import { ElMessage } from 'element-plus';
export default function handleFileChange(event) {
  const jsonData = ref(null);
    const file = event.target.files[0];
    if (file && file.type.match('application/json')) {
      const reader = new FileReader();
      reader.onload = (e) => {
        try {
          jsonData.value = JSON.parse(e.target.result);
          ElMessage.success('JSON 文件解析成功!');
        } catch (error) {
          console.error('解析 JSON 时出错:', error);
          ElMessage.error('解析 JSON 时出错!');
        }
      };
      reader.readAsText(file);
    }
  }

生成下载的WPML文件: 

// 使用前需将传入的jsonData类型转换成数组,Array.from(jsonData)。
import wpmlTemplate from '../JSONToXML/JSONToWPML.js';
import {ElMessage} from 'element-plus'
export default function generateWPML(jsonData) {
  // 防止传入的数据为空
  if (!jsonData || jsonData.length === 0) {
    ElMessage.warning('请先提供坐标数据');
    return;
  }
    const wpmlContent = wpmlTemplate(jsonData);
    const blob = new Blob([wpmlContent], { type: 'application/xml' }); // .wpml 文件的MIME类型是application/xml
    const url = URL.createObjectURL(blob);
    const link = document.createElement('a');
    link.href = url;
    link.download = 'DroneMission.wpml';
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
    URL.revokeObjectURL(url);
    ElMessage.success('WPML文件生成成功');
  }

 效果:


http://www.kler.cn/news/368754.html

相关文章:

  • springmvc-springsecurity-redhat keycloak SAML2 xml实现
  • BERT的中文问答系统23
  • 在Spring Boot中配置Map类型数据
  • 使用Python计算相对强弱指数(RSI)进阶
  • 开源模型应用落地-Qwen2-VL-7B-Instruct-vLLM-OpenAI API Client调用
  • 重学SpringBoot3-Spring WebFlux之SSE服务器发送事件
  • 关于 API
  • 【leetcode】动态规划
  • python+大数据+基于Hadoop的个性化图书推荐系统【内含源码+文档+部署教程】
  • 【我的创作纪念日1024】
  • 大数据-187 Elasticsearch - ELK 家族 Logstash Filter 插件 使用详解
  • APS开源源码解读: 排程工具 optaplanner II
  • Windows系统PyCharm右键运行.sh文件
  • Web API 哪家强?Axios、Fetch 和 HttpClient 优选指南
  • html5中获取元素的方法
  • 高效集成:聚水潭奇门至金蝶云星空的数据流自动化
  • Python爬虫-汽车投诉排行榜单数据
  • xss跨站及绕过与防护
  • Spring Boot 架构入门学习指南
  • NameNode的HA特性和基于ZKFC的自动故障转移机制
  • 前端浏览器知识总结
  • STM32 第18章 SysTick--系统定时器
  • kafka-console-ui的简介及安装使用
  • OceanMind海睿思受邀参加中国信通院2024数据要素发展大会
  • 使用 Spring Doc 为 Spring REST API 生成 OpenAPI 3.0 文档
  • Web做题思路