深圳营销网站建设报价营销网站制作全包

web/2025/10/1 3:39:43/文章来源:
深圳营销网站建设报价,营销网站制作全包,做云盘网站哪个好,刚刚传来最新消息利用wasm实现读写本地项目的在线编辑器 本篇内容是通过AI-ChatGPT问答和查阅相关文档得到的答案。 起因是看到在线Vscode和RemixIde都实现了在线读取用户电脑文件夹作为项目根目录#xff0c;达成读取、创建、修改、删除该目录下所有文件、文件夹的功能。 而在浏览器中因为安…利用wasm实现读写本地项目的在线编辑器 本篇内容是通过AI-ChatGPT问答和查阅相关文档得到的答案。 起因是看到在线Vscode和RemixIde都实现了在线读取用户电脑文件夹作为项目根目录达成读取、创建、修改、删除该目录下所有文件、文件夹的功能。 而在浏览器中因为安全性问题光凭javascript本身是做不到这么完整的功能最多只能读写单个文件还不是无缝衔接和高兼容性。 其中后者是使用Nodejs开发了Remixd的浏览器插件来实现而前者就是利用近年发展起来的wasm/wasi来实现的。 由于wasm/wasi更具有光明的前途本文也是主要结合AI探索这项功能的基础实现方式。 创建一个新的Rust项目 cargo new --lib wasm-example cd wasm-example在Cargo.toml文件中添加依赖项 [lib] crate-type [cdylib][dependencies] wasm-bindgen 0.2创建一个名为lib.rs的文件并添加以下代码 use std::fs; use wasm_bindgen::prelude::*;#[wasm_bindgen] pub fn read_folder(folder_path: str) - ResultVecString, JsValue {let entries fs::read_dir(folder_path).map_err(|err| JsValue::from_str(format!(Error reading folder: {}, err)))?;let file_names: VecString entries.filter_map(|entry| {entry.ok().and_then(|e| e.file_name().into_string().ok())}).collect();Ok(file_names) }#[wasm_bindgen] pub fn write_file(file_path: str, content: str) - Result(), JsValue {fs::write(file_path, content).map_err(|err| JsValue::from_str(format!(Error writing file: {}, err)))?;Ok(()) }在项目根目录下运行以下命令将Rust代码编译为Wasm模块 wasm-pack build --target web --out-name wasm --out-dir ./static在前端HTML文件中引入生成的Wasm模块并使用JavaScript与Wasm进行交互 body input typefile idfolderInput webkitdirectory directory multiple ul idfileList/ulinput typetext idfileNameInput placeholder文件名 textarea idfileContentInput placeholder文件内容/textarea button idwriteButton写入文件/buttonscriptimport init, {read_folder, write_file} from ./static/wasm.js;async function run() {await init();const folderInput document.getElementById(folderInput);const fileListElement document.getElementById(fileList);folderInput.addEventListener(change, async (event) {const files event.target.files;fileListElement.innerHTML ;for (let i 0; i files.length; i) {const file files[i];const listItem document.createElement(li);listItem.textContent file.name;fileListElement.appendChild(listItem);const fileContent await readFile(file);console.log(fileContent);}});const writeButton document.getElementById(writeButton);writeButton.addEventListener(click, async () {const fileName document.getElementById(fileNameInput).value;const fileContent document.getElementById(fileContentInput).value;await writeFile(fileName, fileContent);});}function readFile(file) {return new Promise((resolve, reject) {const reader new FileReader();reader.onload (e) {resolve(e.target.result);};reader.onerror (e) {reject(e.target.error);};reader.readAsText(file);});}async function writeFile(fileName, fileContent) {try {await write_file(fileName, fileContent);console.log(File written successfully);} catch (error) {console.error(Error writing file:, error);}}run(); /script /body你可以使用JavaScript中的File API来实现以编程方式触发文件夹选择的行为而不是通过点击元素。 以下是一个示例代码演示如何使用JavaScript创建一个元素并通过点击标签来触发文件夹选择 body a href# idfolderLink选择文件夹/a ul idfileList/ul scriptconst folderLink document.getElementById(folderLink);const fileListElement document.getElementById(fileList);folderLink.addEventListener(click, (event) {event.preventDefault();const folderInput document.createElement(input);folderInput.type file;folderInput.webkitdirectory true;folderInput.directory true;folderInput.multiple true;folderInput.addEventListener(change, (event) {const files event.target.files;fileListElement.innerHTML ;for (let i 0; i files.length; i) {const file files[i];const listItem document.createElement(li);listItem.textContent file.name;fileListElement.appendChild(listItem);}});folderInput.click();}); /script /body当用户选择文件夹后会触发change事件我们可以在事件处理程序中获取选择的文件列表并将文件名显示在页面上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84820.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宁波网站推广联系方式网上做调查赚钱的网站有哪些

是不是经常面对一堆图片文件夹,想要把它们里面的宝贝图片一一拼接起来,却又被繁琐的操作吓得直摇头?别担心,今天我要给大家介绍一位图片处理界的超级英雄——首助编辑高手软件!它就像是一位拥有魔法的图片大师&#xf…

网站建设结课总结网站站点规划实例

在使用Hive的INSERT OVERWRITE语句时,需要注意以下问题: 数据覆盖:INSERT OVERWRITE语句会覆盖目标目录中的数据。因此,在执行该语句之前,请确保目标目录为空或者你希望覆盖的数据已经不再需要。数据格式:…

网站备案文件吗苏州网站快速推广

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 小比特 大梦想 此篇文章与大家分享分治递归、搜索与回溯算法中关于二叉树的深搜的专题 如果有不足的或者错误的请您指出! 目录 1.计算布尔值的二叉树1.1解析1.2题解 2.求根节点到叶子节点数字之和2.1解析2.2题解…

慧聪网的网站建设策略营销型 展示类网站模板

题目描述 Description Xaviera现在遇到了一个有趣的问题。平面上有N个点,Xaviera想找出周长最小的三角形。由于点非常多,分布也非常乱,所以Xaviera想请你来解决这个问题。为了减小问题的难度,这里的三角形也包括共线的三点。 输…

国外工会网站建设世界球队实力排名

更好的方法是,如果您有权访问主机并且Oracle安装使用以下命令:lsnrctl status。这适用于Unix,Linux和Windows机器。 status命令将显示所有监听器(及其相关的SID)。C:\>lsnrctl statusLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Pr…

网站设计首页动态效果怎么做推广网站怎么建

惊闻苍老师在某地做活动,距离公司不远,便蠢蠢欲动,招呼几个小伙伴一同前往。老师果然是全民偶像,人生导师,人气火爆,现场是人山人海,根本没有立足之地,后来听说,由于人太…

做网站和优化共多少钱?wordpress+文章分页插件

1 coredns 1.1 概述 1.1.1 什么是CoreDNS CoreDNS 是一个灵活可扩展的 DNS 服务器,可以作为 Kubernetes 集群 DNS,在Kubernetes1.12版本之后成为了默认的DNS服务。 与 Kubernetes 一样,CoreDNS 项目由 CNCF 托管。 coredns在K8S中的用途,…

小璇seo优化网站时尚类网站建设

大会官网:www.icamima.org 目录 前言 一、HTML(超文本标记语言):网页的骨架 HTML 的作用: 例子: 总结: 二、CSS(层叠样式表):网页的外观设计 CSS 的…

经典重庆网站济南公司

随着JAX-RS API的发展,以及今年早些时候在JSR-339下发布的2.0版本,使用出色的Java平台创建REST服务变得更加容易。 但是,极大的简化带来了巨大的责任:记录所有这些API,以便其他开发人员可以快速了解如何使用它们。 不…

深圳团购网站设计价格wordpress需要的插件

一句话总结:看起来复杂,动规分析以后就比较简单。 原题链接:583 两个字符串的删除操作 本质就是求两个字符串的最短子序列的长度。已经做过,不再详解。 class Solution {public int minDistance(String word1, String word2) {/…

长沙网站设计多少钱一个月如何注册网站域名

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?我们来试试用.NET Core从Windows环境开发,然后porting到Linux环境(布署及执行.NET Core),之前曾看过stackoverflow文章提到Mono的性能问题&…

成都锦江建设局网站惠州做棋牌网站建设哪家公司收费合理

前言 今天给大家带来一款单机游戏的架设:新天龙八部之14门派绝情谷版一键端紫色穿刺 无字谱,金陵天外。 如今市面上的资源参差不齐,大部分的都不能运行,本人亲自测试,运行视频如下: [单机版]新天龙八部之…

齐博网站模板wordpress a 锚点

介绍 提示:文章仅供交流学习,严禁用于非法用途,如有不当可联系本人删除 最近某盾新推出了,滑块拼图验证码,如下图所示,这篇文章介绍怎么识别滑块距离相关。 参数attrs 通过GET请求获取的参数attrs, 决…

营销型网站建设题库网站备案为什么 没有批复文件

点击“打开/下载题目”进去看看情况: 为了方便查看翻译成中文简体来看: emmm,看不懂什么意思,查看源代码,js表示是一段JavaScript代码,丢给AI分析一下: // server.js const express require(&…

织梦优美文章阅读网站源码平面设计软件手机

前提准备: gitlab中上传相应的jenkinsfile文件和源码。 安装和破解ansible-tower。 安装jenkins。 大致流程:从gitlab中拉取文件,存放到windows机器上,使用nuget等进行打包到windows中,使用sshPublisher语句传输到远程…

松江做网站多少钱手机网站欢迎页面设计

STM32 单片机最小系统全解析 本文详细介绍了 STM32 单片机最小系统,包括其各个组成部分及设计要点与注意事项。STM32 最小系统在嵌入式开发中至关重要,由电源、时钟、复位、调试接口和启动电路等组成。 在电源电路方面,采用 3.3V 直流电源供…

企业为什么要建设自己的网站盐城哪有做网站建设的

目录 一、算法原理1、原理概述2、参考文献二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。 一、算法原理 1、原理概述 通过传统最小二乘法对点云数据进行平面拟合时,可将误差只归因于一个方向上,本文假设误差只存在于 Z Z

学校网站建设策划书模板wordpress去掉边栏

在实际工作中会遇到,最近有需求将产品炸开bom到底层,但是ERP中bom数据在一张表中递归存储的,不循环展开,是无法知道最底层原材料是什么。 在ERP中使用pl/sql甚至sql是可以进行炸BOM的,但是怎么使用spark展开&#xff0…

资阳网站建设临海大经建设集团网站

谈到数据库,大家第一想法就是怎么去优化,怎么让查询操作更快。我认为最好的方式就是从开始数据库设计的时候就要尽量考虑周全。如果不幸是个老项目,就得从优化入手了。接下就从设计和优化谈一下我的一些认识和经验。1:数据库的设计…

表白网站制作源代码抖音代运营公司经营范围

Metasploit框架的auxiliary模块涵盖了许多不同的功能,包括扫描、枚举、信息收集和漏洞探测等。以下是一些常见的auxiliary模块及其使用案例: 1. 端口扫描 auxiliary/scanner/portscan/tcp:TCP端口扫描。 use auxiliary/scanner/portscan/tcp…