js 下载zip

时间: 2023-09-15 12:16:10 浏览: 17
你可以使用JSZip库来实现在浏览器端下载zip文件。 首先,你需要引入JSZip库,可以通过以下方式在HTML文件中引入: ```html <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.6.0/jszip.min.js"></script> ``` 然后,在JavaScript代码中创建一个JSZip实例,将需要下载的文件添加到ZIP文件中,最后将ZIP文件下载到本地。 以下是一个简单的示例代码: ```javascript // 创建JSZip实例 var zip = new JSZip(); // 添加需要下载的文件到ZIP文件中 zip.file("hello.txt", "Hello World!"); // 将ZIP文件下载到本地 zip.generateAsync({type:"blob"}).then(function(content) { // 使用FileSaver.js库保存文件到本地 saveAs(content, "example.zip"); }); ``` 在上面的示例代码中,我们使用了FileSaver.js库将生成的ZIP文件保存到本地。你需要在HTML文件中引入FileSaver.js库: ```html <script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2.0.5/FileSaver.min.js"></script> ``` 注意:由于安全性的考虑,现代浏览器可能会阻止自动下载文件。因此,上述代码可能需要在用户点击按钮等操作后执行。

相关推荐

### 回答1: 要下载Layui的zip压缩包,可以按照以下步骤进行操作: 1. 打开Layui的官方网站,网址为:https://www.layui.com/ 2. 在网站的首页上方导航栏中,点击"下载"按钮,进入下载页面。 3. 在下载页面中,你可以看到有"Layui全部组件.zip"和"Layui基础版本.zip"两个选项。 4. 如果你需要下载Layui的全部组件,就点击"全部组件"对应的下载按钮。如果只需要下载基础版本,则点击"基础版本"对应的下载按钮。 5. 点击下载按钮后,系统会生成一个zip压缩包,并自动开始下载。此时,你可以选择将文件保存到你的电脑指定的目录下。 6. 下载完成后,你可以使用解压缩软件(如WinRAR、7-Zip等)将zip压缩包解压。 7. 解压后,你会得到一个包含Layui的各个文件和文件夹的目录。 8. 至此,你已成功下载并解压Layui的zip压缩包,可以开始使用Layui开发你的网页或应用程序了。 需要注意的是,Layui是一个基于jQuery的前端开发框架,下载并使用之前,你需要确保已经安装了jQuery,并将其引入到你的项目中。另外,在开发过程中,你可以根据需要,选择性地引入Layui的各个模块,以免不必要的宽带和存储空间消耗。 ### 回答2: 要下载 layui 的 zip 文件,你可以按照以下步骤进行操作: 1. 打开 layui 的官方网站(http://www.layui.com/)。 2. 在页面上找到并点击 "下载" 按钮。 3. 在下载页面上,你会看到 layui 的最新版本和一些其他版本的选项。选择你想要的版本,比如最新版本。 4. 在选定版本的旁边会显示附带的资源文件,例如 CSS、JS、图标等。你可以根据需要选择是否下载这些资源文件。 5. 点击 "下载 .zip" 按钮,即可开始下载 layui 的压缩包。 6. 下载完成后,你可以使用解压软件将 zip 文件解压至你希望保存的目录。 使用这个 zip 包,你就可以在你的项目中引入 layui 的样式和脚本文件,并开始使用 layui 提供的丰富组件和功能了。 ### 回答3: 要下载 layui 的 zip 压缩文件,可以按照以下步骤进行操作: 1. 打开 layui 官方网站(https://www.layui.com/),在首页上方的导航栏中找到 "下载" 的选项,并点击进入下载页面。 2. 在下载页面中,可以看到 layui 的各个版本可供选择。根据自己的需求,选择合适的版本进行下载。通常会有压缩版(带 ".zip" 后缀)和完整版(带 ".all.zip" 后缀)可供选择。 3. 点击所需版本的下载链接,开始下载 layui 的 zip 压缩文件。下载完成后,可以将该文件移动到适当的位置,比如你项目所在的文件夹。 4. 解压下载的 zip 压缩文件。可以使用解压软件,如 WinRAR、7-Zip 等,将压缩文件解压到指定的目录中。 5. 解压完成后,你会得到 layui 的文件夹,里面包含了 layui 的各个文件和目录,如 CSS、JS、图片等。现在你可以根据自己的需要,将这些文件引入到你的项目中,并开始使用 layui 了。 总结起来,下载 layui 的 zip 压缩文件的步骤就是:进入官网下载页面,选择合适的版本,点击下载链接下载文件,然后解压文件,最后将解压后的 layui 文件引入到项目中即可。希望这个回答对你有帮助!
在React中调用后台服务下载zip文件的方法有多种,以下是一种基本的方法: 首先,你需要创建一个按钮或其他触发事件的组件,用户点击该按钮触发下载操作。 js import React from 'react'; class DownloadButton extends React.Component { handleDownload = () => { fetch('/api/download-zip', { // 后台接口地址 method: 'GET', headers: { 'Content-Type': 'application/zip', // 告诉后台要下载zip文件 }, }) .then(response => response.blob()) // 将响应数据转换为Blob对象 .then(blob => { const url = window.URL.createObjectURL(blob); // 通过Blob创建下载链接 const a = document.createElement('a'); a.style.display = 'none'; a.href = url; a.download = 'download.zip'; // 设置下载文件的名称 document.body.appendChild(a); a.click(); // 模拟点击下载链接 window.URL.revokeObjectURL(url); // 释放URL对象 }) .catch(error => { console.error('下载失败:', error); }); }; render() { return ( <button onClick={this.handleDownload}>下载ZIP文件</button> ); } } 上述代码中,我们使用了fetch函数发送GET请求到后台接口地址/api/download-zip,通过设置请求头Content-Type为application/zip告诉后台要下载zip文件。在获取到后台响应后,我们将其转换为Blob对象,然后通过window.URL.createObjectURL(blob)方法创建下载链接。接着,我们动态创建了一个元素,并将其添加到DOM中,在href属性中设置下载链接,download属性设置下载文件的名称。最后,我们模拟点击元素触发下载操作,并通过window.URL.revokeObjectURL(url)释放URL对象。 当用户点击按钮时,会触发handleDownload方法,从而进行下载操作。这样我们就可以在React中调用后台服务下载zip文件了。当然,具体的后台接口实现方式和路径需要根据项目实际情况进行设置。
Vue调试工具.zip是一个用于Vue.js项目调试的辅助工具压缩包。它包含了一些常用的调试工具,可以帮助开发者在开发和调试Vue.js项目时快速定位和解决问题。 下载Vue调试工具.zip的步骤很简单。首先,你需要在互联网上搜索Vue调试工具.zip的下载链接。你可以在搜索引擎中输入"Vue调试工具.zip下载"来寻找相关的结果。 在找到下载链接后,你可以点击链接进入下载页面。通常,下载页面会提供一些相关信息,如工具的版本号、更新日期等。你可以根据自己的需要选择下载适合自己项目版本的调试工具。 在下载页面,你会找到一个下载按钮或链接。点击该按钮或链接,会开始下载Vue调试工具.zip文件。下载的时间和速度取决于你的网络状况和文件大小。 下载完成后,你可以找到下载好的Vue调试工具.zip文件,在你的电脑上解压缩。通常,你只需要右键点击该文件,选择"解压缩"或"提取到当前文件夹"等选项,就可以将压缩包中的文件解压缩到指定的目录中。 解压缩完成后,你就可以在目录中找到被解压缩的文件了。根据具体的调试工具,你可能会看到一些可执行文件、配置文件或其他相关的文件。你可以根据调试工具的说明文档或文档中提供的信息来正确使用这些工具。 总之,通过上述的步骤,你就可以下载并使用Vue调试工具.zip来帮助你更方便地进行Vue.js项目的调试工作。希望这个回答能够对你有所帮助!
### 回答1: 要批量生成二维码zip文件,可以使用JavaScript编程语言来实现。 首先,我们需要安装一个适用于JavaScript的二维码生成库,例如qrcode.js。使用npm或者其他包管理工具进行安装。 接下来,我们需要引入所需的库文件,并创建一个HTML页面。在HTML页面中,我们需要添加一个表单,用于上传要生成二维码的文件。添加一个按钮,用于批量生成二维码。 在JavaScript代码中,我们需要监听表单的提交事件。当用户上传文件后,我们可以使用File API读取文件内容。如果文件是一个txt文件,并且每行包含一个URL,我们可以将行拆分为一个URL列表。 使用qrcode.js库,我们可以循环遍历URL列表,生成二维码,并将这些二维码存储在数组中。然后,我们可以使用jszip库创建一个zip文件,并将二维码添加到zip文件中。 最后,我们可以使用jszip库提供的方法将生成的zip文件下载到用户的计算机上,并提供一个合适的文件名。 总结起来,要实现批量生成二维码zip文件的功能,首先要使用qrcode.js库生成二维码,然后使用jszip库创建zip文件,最后将生成的zip文件提供给用户下载。 ### 回答2: JS 批量生成二维码zip,可以使用第三方库来实现。下面是一个使用 jszip、qrcodejs 和 html2canvas 库来实现的示例: 首先需要引入 jszip、qrcodejs 和 html2canvas 的库文件。然后在 HTML 文件中创建一个按钮,用于触发生成二维码zip的功能。 html <button onclick="generateQRCodes()">生成二维码zip</button> 接下来是相关的 JavaScript 代码: javascript function generateQRCodes() { // 创建一个新的zip实例 var zip = new JSZip(); // 定义需要生成二维码的数据 var data = ['https://example.com/qrcode1', 'https://example.com/qrcode2', 'https://example.com/qrcode3']; // 定义生成二维码的参数 var options = { text: '', width: 128, height: 128, }; // 循环遍历数据生成二维码 data.forEach(function(url, index) { options.text = url; var qrCode = new QRCode(document.createElement('div'), options); // 使用 html2canvas 将二维码渲染为图片 html2canvas(qrCode._el.firstChild).then(function(canvas) { // 将图片添加到zip文件中 zip.file('qrcode' + (index + 1) + '.png', canvas.toDataURL().substr(22), { base64: true }); // 如果是最后一张二维码,则生成zip文件并下载 if (index === data.length - 1) { zip.generateAsync({ type: "blob" }).then(function(content) { // 使用第三方库FileSaver保存并下载zip文件 saveAs(content, "qrcodes.zip"); }); } }); }); } 上述代码首先定义了需要生成二维码的数据数组 data,然后通过循环遍历数组,在每次遍历中生成一个二维码,并使用 html2canvas 将其渲染为图片。图片被添加到 zip 文件中,并在最后一张二维码生成后将 zip 文件生成并下载到本地。 请注意,上述代码只是一个示例,具体使用时需要根据实际需求进行修改和适配。
小程序中使用js进行mp3的zip压缩的步骤如下: 1. 首先需要引入jszip库,可以通过在小程序中引入外部js文件或者在项目中使用npm进行安装。安装完成后,可以使用const JSZip = require('jszip')进行导入。 2. 在需要进行压缩的函数中,首先创建一个新的JSZip实例:const zip = new JSZip()。 3. 使用异步方法读取需要压缩的mp3文件,可以通过小程序提供的wx.getFileSystemManager().readFile进行读取。读取文件时,需要设置编码格式,例如:wx.getFileSystemManager().readFile({filePath: 'mp3文件路径', encoding: 'base64', success: function(data) {}})。 4. 成功读取mp3文件后,可以将文件内容添加到zip文件中,使用zip.file('mp3文件名', data, {base64: true})进行添加。其中,'mp3文件名'为保存到zip文件中的文件名,data为读取到的mp3文件内容。 5. 如果还需要压缩其他文件,可以重复步骤3和步骤4。如果没有其他文件需要压缩,则可以跳过该步骤。 6. 最后,将压缩完成的zip文件进行异步生成,使用zip.generateAsync({type:"blob", compression: "DEFLATE"})进行生成。生成完成后,可以通过回调函数获取到生成的zip文件数据。 7. 将生成的zip文件保存到本地或发送到服务器,可以使用小程序提供的函数进行操作。例如,使用wx.saveFile保存到本地,或使用wx.request发送到服务器。 以上是小程序中使用js进行mp3的zip压缩的大致步骤。具体的实现方式可能根据实际情况有所不同,可以根据项目需求进行调整。
### 回答1: Echarts(百度开发的一款优秀的JavaScript图表库)的JS下载非常简单。 首先,您需要在Echarts的官方网站(https://echarts.apache.org/zh/)上找到适合您的版本。官方网站提供了多个版本,例如完整版、精简版和基本版,根据您的需求选择适合的版本。 一旦选定了版本,您可以通过以下几种方式下载Echarts的JS文件: 1. 直接下载:在官方网站的下载页面找到所需版本的下载链接,点击链接即可开始下载。下载后,将js文件保存到您的项目文件夹中。 2. 使用npm安装:如果您正在使用npm(Node包管理器)管理项目依赖,可以使用以下命令安装Echarts: npm install echarts 这将自动从Echarts的npm仓库下载并安装Echarts的JS文件至您的项目。 3. 使用CDN:如果您更喜欢使用CDN(内容分发网络)来加载JS文件,可以将以下链接直接加入到HTML文件的<head>标签中: <script src="https://cdn.jsdelivr.net/npm/echarts@版本号/dist/echarts.min.js"></script> 将“版本号”替换为您需要的Echarts版本号,然后将此代码复制粘贴到您的HTML文件中即可。 无论您选择哪种方式下载Echarts的JS文件,一旦下载完成,您就可以在您的项目中使用Echarts图表库了。请确保在使用之前,将该JS文件链接到您的HTML文件中,并按照Echarts官方文档的指导来创建和配置图表。 ### 回答2: 要下载Echarts的JavaScript文件,你可以按照以下步骤进行操作: 1. 首先,打开Echarts的官方网站echarts.apache.org。 2. 在网站的主页上,你可以找到一个名为"下载"或"Download"的选项。点击该选项,你将被重定向到Echarts的下载页面。 3. 在下载页面上,你可以找到不同版本的Echarts,选择最新版本的稳定版是一个不错的选择。通常,下载页面会提供多种可用的格式,例如JavaScript文件、压缩文件或源代码文件。确认你选择的版本和格式是正确的。 4. 点击选定的版本和格式后,下载将会开始。你可能需要选择一个保存Echarts文件的目录。选择一个你方便访问和使用的目录。 5. 下载完成后,你可以在指定的目录中找到Echarts的JavaScript文件。该文件通常以".js"为扩展名,例如"echarts.min.js"或"echarts.js"。 6. 现在,你可以将Echarts的JavaScript文件添加到你的项目中,并使用它来创建交互式的图表和数据可视化。 总结一下,要下载Echarts的JavaScript文件,你只需要访问官方网站,找到下载页面,选择适合你项目需求的版本和格式,然后将文件保存到本地并添加到你的项目中即可。 ### 回答3: 要使用Echarts的JavaScript库进行下载,可以按照以下步骤进行操作: 1. 首先,前往Echarts的官方网站(https://echarts.apache.org/zh/index.html)。 2. 在网站首页上方的导航栏中,点击“下载”按钮。 3. 网页会跳转至Echarts的下载页面。选择适合你项目需要的版本,通常推荐选择最新版本。 4. 在下载页面中,你可以看到多种下载方式供选择。选择 “JavaScript 版本” 下载。 5. 下载完成后,你会得到一个压缩文件(通常是一个.zip文件)。解压缩该文件。 6. 解压缩后,你会得到一个包含Echarts库的文件夹。在这个文件夹中,找到一个名为 "echarts.js" 或者 "echarts.min.js" 的文件,这是主要的Echarts JavaScript文件。 7. 将 "echarts.js" 或者 "echarts.min.js" 文件复制到你的项目文件夹中,可以根据你的需求选择文件重命名。 8. 在你的HTML文件中,使用script标签将 "echarts.js" 或者 "echarts.min.js" 文件引入到页面中: <script src="路径/到/echarts.js"></script> 9. 引入Echarts之后,你就可以开始使用它的功能了。详情可以参考Echarts官方文档提供的示例代码和使用指南。 总之,要使用Echarts的JavaScript库,只需要下载适合你项目需要的版本的压缩文件,解压缩后将其中的echarts.js文件引入到你的HTML文件中,然后就可以开始使用Echarts的功能了。
### 回答1: 要下载OpenCV.js,可以按照以下步骤进行操作: 1. 首先,打开OpenCV.js的GitHub页面,链接为https://github.com/opencv/opencv.js。 2. 在该页面上,可以看到一个绿色按钮,上面写着“Code”。点击这个按钮。 3. 在下拉菜单中,选择“Download ZIP”。 4. 选择下载保存的位置,并点击“保存”按钮。 5. 下载完成后,找到保存的ZIP文件,并解压缩它。 6. 解压缩后,您将得到一个文件夹,其中包含OpenCV.js的所有源代码和相关文件。 现在您已经成功下载了OpenCV.js。接下来,您可以根据需要使用它。在使用之前,请确保您已经正确配置了所需的开发环境,并已经了解如何使用OpenCV.js编写代码。 ### 回答2: 要下载 OpenCV.js,可以按照以下步骤进行。 1. 首先,打开 OpenCV 的官方 GitHub 页面 (https://github.com/opencv/opencv)。 2. 在页面的右上方找到 "Code" 按钮,点击并选择 "Download ZIP" 选项,即可下载 OpenCV 的源代码压缩包。 3. 解压缩下载的压缩包到你选择的文件夹中。 下载 OpenCV.js 工具包 4. 打开 OpenCV 的官方 GitHub 页面 (https://github.com/opencv/opencv/tree/master/opencv_js),此页面是专门用于 OpenCV.js 工具包的下载。 5. 在页面的右上方找到 "Code" 按钮,点击并选择 "Download ZIP" 选项,即可下载 OpenCV.js 工具包的源代码压缩包。 6. 解压缩下载的压缩包到与 OpenCV 源代码相同的文件夹中。 构建 OpenCV.js 7. 打开解压缩后的 OpenCV.js 文件夹,在其中找到 "opencv" 文件夹。 8. 进入 "opencv" 文件夹,找到 "platforms" 文件夹。 9. 根据所需的操作系统,选择适当的文件夹,比如 "emscripten"。 10. 进入所选文件夹,找到 "build_js.py" 文件。 11. 使用合适的命令行工具,在该文件的目录中执行命令:python build_js.py 12. 构建过程会自动执行,并生成 "opencv.js" 文件。 到此,你已经成功下载并构建了 OpenCV.js。现在可以将 "opencv.js" 文件用于你的项目中,通过引入它的方式来使用 OpenCV.js 的功能。 ### 回答3: 要下载OpenCV.js,可以按照以下步骤进行操作: 1. 首先,打开OpenCV.js的GitHub页面,该页面位于"https://github.com/opencv/opencv"。在该页面上,可以找到OpenCV.js的源代码以及其他相关文件。 2. 您可以选择直接下载整个OpenCV.js的源代码压缩包,或者使用git工具通过命令行克隆整个OpenCV.js的仓库到本地。 3. 如果选择下载压缩包,可以在GitHub页面的右侧找到一个绿色的按钮,上面写着"Code"。点击该按钮,然后选择"Download ZIP"选项即可开始下载压缩包。 4. 如果选择使用git工具进行克隆操作,可以在GitHub页面的右侧找到一个绿色的按钮,也是写着"Code"。点击该按钮,然后复制显示的链接。 5. 打开命令行界面(如Windows的命令提示符或Linux的终端),进入您所选择的目标文件夹。然后执行以下命令:git clone [复制的链接]。这将会将OpenCV.js的仓库克隆到您的本地。 6. 下载完成后,您可以通过解压压缩包或者进入克隆的目录来获取OpenCV.js的文件。 下载完成后,您就可以按照OpenCV.js的文档和示例进行使用了。请注意,使用OpenCV.js可能需要一些前端开发的知识和技巧,以便正确加载和使用库文件。同时,还需了解OpenCV库的基本知识,以便能够充分利用OpenCV.js提供的功能。

最新推荐

基于单片机温度控制系统设计--大学毕业论文.doc

基于单片机温度控制系统设计--大学毕业论文.doc

"REGISTOR:SSD内部非结构化数据处理平台"

REGISTOR:SSD存储裴舒怡,杨静,杨青,罗德岛大学,深圳市大普微电子有限公司。公司本文介绍了一个用于在存储器内部进行规则表达的平台REGISTOR。Registor的主要思想是在存储大型数据集的存储中加速正则表达式(regex)搜索,消除I/O瓶颈问题。在闪存SSD内部设计并增强了一个用于regex搜索的特殊硬件引擎,该引擎在从NAND闪存到主机的数据传输期间动态处理数据为了使regex搜索的速度与现代SSD的内部总线速度相匹配,在Registor硬件中设计了一种深度流水线结构,该结构由文件语义提取器、匹配候选查找器、regex匹配单元(REMU)和结果组织器组成。此外,流水线的每个阶段使得可能使用最大等位性。为了使Registor易于被高级应用程序使用,我们在Linux中开发了一组API和库,允许Registor通过有效地将单独的数据块重组为文件来处理SSD中的文件Registor的工作原

如何使用Promise.all()方法?

Promise.all()方法可以将多个Promise实例包装成一个新的Promise实例,当所有的Promise实例都成功时,返回的是一个结果数组,当其中一个Promise实例失败时,返回的是该Promise实例的错误信息。使用Promise.all()方法可以方便地处理多个异步操作的结果。 以下是使用Promise.all()方法的示例代码: ```javascript const promise1 = Promise.resolve(1); const promise2 = Promise.resolve(2); const promise3 = Promise.resolve(3)

android studio设置文档

android studio默认设置文档

海量3D模型的自适应传输

为了获得的目的图卢兹大学博士学位发布人:图卢兹国立理工学院(图卢兹INP)学科或专业:计算机与电信提交人和支持人:M. 托马斯·福吉奥尼2019年11月29日星期五标题:海量3D模型的自适应传输博士学校:图卢兹数学、计算机科学、电信(MITT)研究单位:图卢兹计算机科学研究所(IRIT)论文主任:M. 文森特·查维拉特M.阿克塞尔·卡里尔报告员:M. GWendal Simon,大西洋IMTSIDONIE CHRISTOPHE女士,国家地理研究所评审团成员:M. MAARTEN WIJNANTS,哈塞尔大学,校长M. AXEL CARLIER,图卢兹INP,成员M. GILLES GESQUIERE,里昂第二大学,成员Géraldine Morin女士,图卢兹INP,成员M. VINCENT CHARVILLAT,图卢兹INP,成员M. Wei Tsang Ooi,新加坡国立大学,研究员基于HTTP的动态自适应3D流媒体2019年11月29日星期五,图卢兹INP授予图卢兹大学博士学位,由ThomasForgione发表并答辩Gilles Gesquière�

MutableDenseMatrix' object has no attribute 'flatten'

根据提供的引用内容,可以看出这是一个关于Python中矩阵操作的问题。具体来说,'MutableDenseMatrix' object has no attribute 'flatten'的错误提示表明,矩阵对象没有名为'flatten'的属性。因此,我们需要使用其他方法来展平该矩阵对象。 以下是一种可能的解决方案: ```python # 导入必要的库 from sympy import Matrix # 创建一个矩阵对象 mat = Matrix([[1, 2], [3, 4]]) # 将矩阵对象转换为列表 mat_list = mat.tolist() # 将列表展平 flat

MySQL 75道面试题及答案.docx

MySQL 75道面试题及答案.docx

HAL多学科开放获取档案库的作用及代理重加密和认证委托的研究

0HAL编号:tel-038172580https://theses.hal.science/tel-038172580提交日期:2022年10月17日0HAL是一个多学科开放获取档案库,用于存储和传播科学研究文档,无论其是否发表。这些文档可以来自法国或国外的教育和研究机构,也可以来自公共或私人研究中心。0HAL多学科开放获取档案库旨在存储和传播法国或国外的教育和研究机构、公共或私人实验室发表或未发表的研究文档。0代理重加密和认证委托的贡献0Anass Sbai0引用此版本:0Anass Sbai. 代理重加密和认证委托的贡献. 离散数学[cs.DM]. 皮卡第朱尔大学, 2021. 法语. �NNT:2021AMIE0032�. �tel-03817258�0博士学位论文0专业“计算机科学”0提交给科技与健康学院博士学位学校0皮卡第朱尔大学0由0Anass SBAI0获得皮卡第朱尔大学博士学位0代理重加密和认证委托的贡献0于2021年7月5日,在评审人的意见后,面向考试委员会进行

已有一个已排好序的数组,要求输入一个数后,按原来的排序规律将它插入数组中

已有一个已排好序的数组,要求输入一个数后,按原来的排序规律将它插入数组中,可以使用二分查找的方法来提高查找效率。具体实现如下: ```python def insert_num(arr, num): left = 0 right = len(arr) - 1 while left <= right: mid = (left + right) // 2 if arr[mid] == num: arr.insert(mid, num) return arr elif arr[m

基于单片机的语音门铃设计毕业论文.doc

基于单片机的语音门铃设计毕业论文.doc