分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

canvas利用formdata上传到服务器

发布时间:2023-09-06 01:34责任编辑:顾先生关键词:暂无标签

1.首先绘制canvas图片

<canvas id="myCanvas" width="100" height="100" style="border:1px solid #d3d3d3;border-radius:50%"> ???????您的浏览器不支持 HTML5 canvas 标签。</canvas>

这里canvas绘图就不是本文章讲解的内容,我们简单的在画布上写两个字:

var canvas = document.getElementById("myCanvas");var ctx = this.c.getContext("2d");ctx.textAlign = ‘left‘;ctx.textBaseline = ‘top‘;ctx.font = ‘bold 16px arial‘;ctx.fillStyle = ‘red‘;ctx.fillText(‘World‘, 40,40);

效果如下

2.将图片转成二进制利用formdata上传

 ????????let src = canvas.toDataURL("image/png")//这里转成的是base64的地址,直接用到img标签的src是可以显示图片的 ????????var fd = new FormData(); ????????????????function dataURItoBlob(dataURI) {//图片转成Buffer ????????????????var byteString = atob(dataURI.split(‘,‘)[1]); ????????????var mimeString = dataURI.split(‘,‘)[0].split(‘:‘)[1].split(‘;‘)[0]; ????????????var ab = new ArrayBuffer(byteString.length); ????????????var ia = new Uint8Array(ab); ????????????for (var i = 0; i < byteString.length; i++) { ????????????????ia[i] = byteString.charCodeAt(i); ????????????} ????????????return new Blob([ab], {type: mimeString}); ????????} ????????var blob = dataURItoBlob(src); ?????????fd.append(‘source_from‘,‘webpage_upload‘)//在formdata加入需要的参数 ????????fd.append(‘file‘,blob)
     /*以下是ng4的封装上传代码*/ ????????var service = ()=>{ ????????????return this.repositoryService.uplodimage(fd) ????????} ????????var callback = (re)=>{ ????????????if(re[‘success‘]){ ????????????????console.log(re) ????????????????this.form.image_cover_contents = re.data.file_info.file_path; ????????????} ????????} ????????this.core.doServiceAndCallback(‘上传图片‘,service,callback)

canvas利用formdata上传到服务器

原文地址:https://www.cnblogs.com/zhenfei-jiang/p/8206146.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved