canvas利用formdata上传到服务器
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上传到服务器的更多相关文章
- HTML5 Canvas前台压缩图片并上传到服务器
		
1.前台代码: <input id="fileOne" type="file" /> <input id="btnOne" ...
 - 使用canvas给图片添加水印, canvas转换base64,,canvas,图片,base64等转换成二进制文档流的方法,并将合成的图片上传到服务器,
		
一,前端合成带水印的图片 一般来说,生成带水印的图片由后端生成,但不乏有时候需要前端来处理.当然,前端处理图片一般不建议,一方面js的处理图片的方法不全,二是有些老版本的浏览器对canvas的支持度不 ...
 - 【Web】前端裁剪图片,并上传到服务器(Jcrop+canvas)
		
web网站中常常有的功能:上传头像.上传封面等:一般图片都有一定的比例限制,所以需要前端在上传图片时,进行裁剪,并把裁剪后的图片进行上传. 本例采用Jcrop插件实现裁剪效果,canvas裁剪图片,并 ...
 - 导出HTML5 Canvas图片并上传服务器功能
		
这篇文章主要介绍了导出HTML5 Canvas图片并上传服务器功能,文中通过实例代码给大家介绍了HTML5 Canvas转化成图片后上传服务器,代码简单易懂非常不错,具有一定的参考借鉴价值,需要的朋友 ...
 - 第五十三篇、OC利用AFN上传视频到服务器
		
整体思路已经清楚,拿到视频资源,先转为mp4,写进沙盒,然后上传,上传成功后删除沙盒中的文件. 本地拍摄的视频,上传到服务器: //视频转换为MP4 //转码操作... _hud.mode = MBP ...
 - 使用ajax上传图片,支持图片即时浏览,支持js图片压缩后上传给服务器
		
使用ajax上传图片,支持图片即时浏览,支持js图片压缩后上传给服务器 ajax上传主要使用了 var reader = new FileReader() 此方法 js图片压缩主要是利用canvas进 ...
 - ueditor使用canvas在图片上传前进行压缩
		
之前就看到H5使用canvas就可以在前端使用JS压缩图片,这次接到任务要把这个功能嵌入到ueditor里面去,以节省流量,减轻服务器压力. H5使用canvas进行压缩的代码有很多,核心原理就是创建 ...
 - HTML5 本地裁剪图片并上传至服务器(转)
		
很多情况下用户上传的图片都需要经过裁剪,比如头像啊什么的.但以前实现这类需求都很复杂,往往需要先把图片上传到服务器,然后返回给用户,让用户确定裁剪坐标,发送给服务器,服务器裁剪完再返回给用户,来回需要 ...
 - php 利用socket上传文件
		
php 利用socket上传文件 张映 发表于 2010-06-02 分类目录: php 一,利用fsockopen来上传文件 以前我写过一篇关于socket通信原理的博文http://blog.51 ...
 
随机推荐
- HDU 2161 Primes
			
http://acm.hdu.edu.cn/showproblem.php?pid=2161 Problem Description Write a program to read in a list ...
 - 线程同步(使用了synchronized)和线程通讯(使用了wait,notify)
			
线程同步 什么是线程同步? 当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题. 实现同步机制有两个方法:1.同 ...
 - 在 visual studio 中添加 ILDASM 工具
			
先写下一般的用法,就是在 vs 中添加 ILDASM 工具. 添加步骤: 工具---->外部工具----->添加: 标题我一般取为 ILDASM,命令那一栏是要选择 ILDASM 的路径, ...
 - c#调用系统默认软件打开应用
			
System.Diagnostics.Process.Start(),参数为对应的应用路径 System.Diagnostics.Process.Start(((FileInfo)lv.Selecte ...
 - P1086 花生采摘
			
题目描述 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!――熊字”. 鲁宾逊先生和多多都很开心,因为花生正是他 ...
 - [HZOI2016]偏序&[HZOI2015]偏序II K维偏序问题
			
description Cogs: [HZOI2016]偏序 [HZOI2015]偏序 II data range \[ n\le 5\times 10^4\] solution 嵌套\(CDQ\)的 ...
 - ubuntu简易教程(如何使用noi linux)
			
目录 linux环境下的基础操作 命令行操作 编辑器 程序编译 程序调试 gdb的使用 对拍 在提高组的考试中要求使用noi linux,因此了解一下如何在linux环境下编程是很有必要的. linu ...
 - POJ2318:TOYS——题解
			
http://poj.org/problem?id=2318 题目大意:给一个大矩形,分成n+1份,求落在每一份的点的数量. —————————————————— 首先叉积可以判断一个点在边界的左边还 ...
 - BZOJ4355:Play with sequence——题解
			
https://www.lydsy.com/JudgeOnline/problem.php?id=4355 维护一个长度为N的序列a,现在有三种操作: 1)给出参数U,V,C,将a[U],a[U+1] ...
 - pandas模块(数据分析)------dataframe
			
DataFrame DataFrame是一个表格型的数据结构,含有一组有序的列,是一个二维结构. DataFrame可以被看做是由Series组成的字典,并且共用一个索引. 一.生成方式 import ...