1.首先将html保存为base64图片

html2canvas.js(可在各cdn进行下载)
eg: cdn.bootcss.com/html2canvas…

html2canvas百度一下代码很多,这里废话不多说,直接上代码
因为是将html里部分保存为图片,所以以下代码实现的是全屏画布上展示需要的部分

    var canvas1 = document.createElement("canvas");let _canvas = document.querySelector('.resDetailRight');//目标块var bodyW = parseInt(window.getComputedStyle(document.querySelector('html')).width)var bodyH = parseInt(window.getComputedStyle(document.querySelector('html')).height)var footH = parseInt(window.getComputedStyle(document.querySelector('.recommend-resume')).height) //多余部分console.log('canvas:', bodyW, bodyH)//将canvas画布放大若干倍,然后盛放在较小的容器内,就显得不模糊了canvas1.width = bodyW * 2;canvas1.height = (bodyH - footH) * 2;canvas1.style.width = bodyW + "px";canvas1.style.height = bodyH - footH + "px";//关于截取不全的操作,点击触发时需要从顶部获取,故在此将页面滚动到顶部然后在执行document.documentElement.scrollTop = 0;document.body.scrollTop = 0;var context = canvas1.getContext("2d");context.scale(2, 2);html2canvas(_canvas, {canvas: canvas1}).then(function (canvas) {//document.body.appendChild(canvas); //直接在底部展示该图file = canvas.toDataURL("image/png");//canvas转换成url,然后利用a标签的download属性,直接下载,绕过上传服务器再下载// document.querySelector(".down").setAttribute('href', canvas.toDataURL());});

2.将获取的图片转换为文件格式

    dataURLtoFile(dataURI, type) {let binary = atob(dataURI.split(',')[1]);let array = [];for(let i = 0; i < binary.length; i++) {array.push(binary.charCodeAt(i));}return new Blob([new Uint8Array(array)], {type:type });}

3.通过ajax将文件传给后端服务器

    var formData = new FormData();let blob= dataURLtoFile(file, 'image/jpeg')let fileOfBlob = new File([blob], new Date()+'.jpg')formData.append('file', fileOfBlob);$.ajax({url: "/gateway/system/plug/resume/upload",type: "post",data: formData,headers:{'Authorization':'bearer '+sessionStorage.getItem("token")},contentType: false,processData: false,success: function (res) {let resumeInfo = res.result//sendResumeInfo(tabId, resumeInfo)checkRepeat(tabId, JSON.stringify(resumeInfo))},error: function (data) {alert("上传失败")}});

至此功能开发完成。

html2canvas图片生成file格式传送到后台服务器相关推荐

  1. 图片获取、格式转换与后台存储

    后端是如何存储图片的呢? 将图片以独立文件的形式存储在服务器的文件夹中,再将该文件路径存入数据库中. 将图片转化为二进制流,直接存储到数据库的Image类型字段中. 第一种方式存储,则前端可以直接将存 ...

  2. 如何利用手机实现图片生成PDF格式,这个方法超实用!

    说到图片,不管是男孩子还是女孩子都喜欢拍照,想必大家的手机相册中都用很多美照吧,不知道大家是否有遇到这样的情况,在有的地方,我们需要将图片的格式进行转换,那你是否找到了方法了?若是没有那就赶紧来看看这 ...

  3. img图片的预览和下载(iframe基本使用),图片转file格式,file文件转base64格式,base64的编码和解码

    目录 一.根据后端接口返回的URL下载和预览图片 1.调用下载图片函数实现下载图片 2.弹出另一个页面,实现预览图片. 3.不弹出另一个页面,实现下载/预览图片(iframe方式) 4.动态创建ifr ...

  4. 图片生成base64格式

    生成 .png文件的Base64文件 对于windows操作系统: 1. 打开命令提示. 2.将当前工作目录更改为存储 .png图片的文件夹. 3. 执行以下命令生成 Base64 表示: 示例的pn ...

  5. Java毕业设计-图片生成MP4格式视频

    需求? 因为项目需求,需要使用Java将数张图片合成mp4视频并播放,在网上查了很多,发现关于这方面的很少,还有一些比较麻烦的,最后找的这个比较简单容易实现的,合成短视频实际使用了,给视频添加音频并没 ...

  6. 将逐帧图片生成mp4格式视频——pyhton实现

    import cv2 img = cv2.imread('/media/lc/LENOVO_USB_HDD/MOT/SimpleTrack/SimpleTrack/res_img/s0.png') i ...

  7. 后台服务器显示监控,后台服务器显示监控

    后台服务器显示监控 内容精选 换一换 公有云平台提供的云监控服务,可以对弹性负载均衡器的运行状态进行日常监控.您可以通过管理控制台,直接查看弹性负载均衡器的各项监控指标.由于监控数据的获取与传输会花费 ...

  8. python使用fpdf生成发票格式的pdf文件包含:文字、图片logo、表格、条形码等;

    python使用fpdf生成发票格式的pdf文件包含:文字.图片logo.表格.条形码等: pip install fpdf #python使用fpdf生成发票格式的pdf文件包含:文字.图片logo ...

  9. php把网络图片转化为base64格式,解决html2canvas图片跨域问题

    一.前言 最近在用html2canvas做网页截图功能.这个开源库使用很简单,代码也很方便,但难点在于跨域问题.比如说,我的一个页面中有图片也有文字,图片是来自于图片服务器的网络图片.此时我们要生成截 ...

最新文章

  1. 如何做中文文本的情感分析?
  2. mysql 基于集_一种基于记录集查找特定行的方法_MySQL
  3. 安装oracle11g后plsql访问,64位Oracle_11g_R2安装+32位Plsql成功登录连接
  4. Listview点击事件
  5. [原创]微软拼音输入法2007(含64位版)
  6. phpcmsV9 会员升级 - 配置篇
  7. 深入解析JQuery中的isPlainObject()使用方法
  8. 一款强大的cisco模拟配置、拓扑制作工具
  9. python 图形模块_Python图形模块
  10. pycharm安装jpype报错及解决方法
  11. 大数据剖析 | 薪资没那么高,延毕率超60%,现代人读博都图什么?
  12. haproxy编译安装以及配置文档介绍
  13. 安装iso格式的软件安装程序
  14. 使用Python以UCI心脏病数据集为例,进行数据简单分析
  15. C语言----白细胞计数
  16. Matlab将图例添加到图
  17. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(26):线性变换的矩阵表达式
  18. 中国托盘拆卸工行业市场供需与战略研究报告
  19. TCP 通信程序学习
  20. 电脑遥控接收器电路_遥控电路图讲解

热门文章

  1. oracle结果相减_Oracle 的加减法函数
  2. 【web素材】06—20款企业网站模板,帮助你快速学习构建企业项目
  3. android获取短信电话,Android:如何从收到的短信中获取电话号码?
  4. Matlab编程技巧:导入A2L文件
  5. 【uniapp】轮播图图片适配
  6. kali 无线渗透 WIFI破解
  7. 编号(长度)动态规划
  8. 注意!年底前没参加继续教育的会计,或将无法报名2023年会计考试!
  9. 教PS菜鸟制作动态流光字
  10. 什么是无氧铜?无氧铜的网线对于弱电工程的意义所在