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

个人做网站花多少钱/百度商店应用市场

个人做网站花多少钱,百度商店应用市场,阳江网站网站建设,带dede后台的整套网站源码 数据库连接不上-前言- 上一章我们使用了<a>标签的纯原生方法下载分解好的图集&#xff0c;虽然功能能够实现&#xff0c;不过下载下来的碎图不能在一个文件夹下&#xff0c;很蛋疼&#xff0c;因此本篇博客我们使用先压缩成zip的方式再下载下来。 如果没看过前两篇博客的同学也可以移…

-前言-

上一章我们使用了<a>标签的纯原生方法下载分解好的图集,虽然功能能够实现,不过下载下来的碎图不能在一个文件夹下,很蛋疼,因此本篇博客我们使用先压缩成zip的方式再下载下来。

如果没看过前两篇博客的同学也可以移步看看这个功能的具体实现:

https://blog.csdn.net/weixin_36719607/article/details/102623647

https://blog.csdn.net/weixin_36719607/article/details/102647690

完整项目地址:https://github.com/dengxuhui/ImagePackerWeb

如果想直接使用该功能的同学:http://dengxuhui.cn/

-正文-

在完成了所有图集上传分解功能后我们会得到有个imageDataAry的数组,数组成员为ImageData对象。我们本片博客就从这里开始写起。

引入JSZip.js及FileSaver.js

首先我们从网络上下载JSZip及FileSaver这两个js文件,并引入到index.html中

Github地址:https://github.com/Stuk/jszip

解析ImageData并保存到JSZip对象

/*** 通过jszip下载* @param {Array} imageDataAry */
downloadMethodByJSZip(imageDataAry) {var $this = this;var zip = new JSZip();for (var i = 0; i < imageDataAry.length; ++i) {$this.canvas.width = imageDataAry[i].width;$this.canvas.height = imageDataAry[i].height;$this.ctx.putImageData(imageDataAry[i], 0, 0);var base64 = $this.canvas.toDataURL("image/png", 1);base64 = base64.split(",")[1];zip.file($this.preFix + "_" + i + ".png", base64, { base64: true });}var blob = zip.generate({ type: "blob" });saveAs(blob, $this.preFix + ".zip");
}

上面我们还是首先获取单个碎图在Canvas中的数据并通过toDataURL获得base64数据。接着我们需要清洗返回的base64数据,把数据头中去掉,下面可以看看截取的原始base64数据

框内的字符串都是没有用的,我们只需要base64后的数据内容,因此使用字符串分割去得后面数据。

每个取得一个数据,我们就存到一个文件中,使用.file方法存储。

关于Base64数据我也有介绍:https://blog.csdn.net/weixin_36719607/article/details/102707249

生成blob并存储到本地

var blob = zip.generate({ type: "blob" });
saveAs(blob, $this.preFix + ".zip");

接下来我们生成blob并调用saveAs存储到本地。

官方提供的Demo是使用的一个异步方法来接收,不过我发现我下载中的JSZip中没有generateAsync这个方法,就直接使用了generate方法生成。

下面这个是官方demo实现方式

zip.generateAsync({type:"blob"})
.then(function(content) {    saveAs(content, $this.preFix + ".zip");
});

至此我们就实现了使用JSZip + FileSaver方法来下载我们分解好的图集碎图文件。

http://www.lbrq.cn/news/1549765.html

相关文章:

  • 中国购物网站排名/自己建网页
  • 深圳flash网站建设/seo培训学校
  • 淘宝客怎么样做网站/网络营销活动策划
  • 武汉 大型 网站建设/快速开发网站的应用程序
  • 桂林临桂区建设局网站/自动外链
  • 怎么做网站缩略图/网站优化外包
  • b2c模式的电子商务网站有哪些/站长工具关键词查询
  • 在线制作二维码网站/学校seo推广培训班
  • 网站开发公司排行/今日的新闻
  • idc销售网站php源码/seo优化工具软件
  • 电子商务网站建设的毕业论文/360关键词推广
  • 女做受网站/免费推广引流怎么做
  • 孝感58同城网站建设/百度竞价包年推广是怎么回事
  • 个人网站怎么做支付功能/2024最火的十大新闻
  • 南部县人民医院搬迁/优化一个网站需要多少钱
  • b2c平台网站建设/企业推广公司
  • 网站兼容手机/互联网广告推广好做吗
  • wordpress 无法登入/天津seo选天津旗舰科技a
  • 免费网站建设程序/百度推广点击软件
  • 湖南昌华建设集团网站/关键词seo排名优化软件
  • 外贸公司网站模板免费/某网站seo诊断分析
  • 网站备案法律法规/培训学校管理制度大全
  • 淮北网站建设制作/google付费推广
  • 重庆工程信息网官网首页/seo投放
  • 平台小程序/seo和sem推广
  • 品牌网站建设怎么收费/2021年关键词有哪些
  • 建筑工程挂网甩浆/seo免费工具
  • 京东联盟的网站怎么做的/电商数据分析
  • 网站前后端用什么软件做/深圳今天重大事件新闻
  • 前端做的好的网站/seo矩阵培训
  • 常见的光源频闪控制方式
  • 基于Android的随身小管家APP的设计与实现/基于SSM框架的财务管理系统/android Studio/java/原生开发
  • Flutter 自定义 Switch 切换组件完全指南
  • 在职老D渗透日记day19:sqli-labs靶场通关(第26a关)get布尔盲注 过滤or和and基础上又过滤了空格和注释符 ‘)闭合
  • [python学习记录2]变量
  • Day3--滑动窗口与双指针--2461. 长度为 K 子数组中的最大和,1423. 可获得的最大点数,1052. 爱生气的书店老板