图片采用base64压缩,可以以字符串的形式传送base64给服务端转存为图片
(function () {
var coverImage = document.querySelector('<div id="coverImage">file</div>');
//图片压缩
coverImage.onchange = function () {
lrz(this.files[0], {width: 640}, function (results) {
// 你需要的数据都在这里,可以以字符串的形式传送base64给服务端转存为图片。
var base64 = results.base64;
function base64UrlToBlob(base64){
var bytes=window.atob(base64.split(',')[1]); //去掉url的头,并转换为byte
//处理异常,将ascii码小于0的转换为大于0
var ab = new ArrayBuffer(bytes.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < bytes.length; i++) {
ia[i] = bytes.charCodeAt(i);
}
return new Blob( [ab] , {type : 'image/jpg'}); //return Blob对象
}
var formData = new FormData($("#toPic")[1]);
var blob = base64UrlToBlob(base64);
console.log(blob);
formData.append("coverImage",blob);
$.ajax({
url: "xxx",
type: "POST",
data: formData,
dataType: "json",
contentType:false,
processData: false,
success: function (json) {
console.log(json);
},
});
setTimeout(function () {
demo_report('预压的图片', base64, base64.length * 0.5);
}, 100);
});
};
})();
var coverImage = document.querySelector('<div id="coverImage">file</div>');
//图片压缩
coverImage.onchange = function () {
lrz(this.files[0], {width: 640}, function (results) {
// 你需要的数据都在这里,可以以字符串的形式传送base64给服务端转存为图片。
var base64 = results.base64;
function base64UrlToBlob(base64){
var bytes=window.atob(base64.split(',')[1]); //去掉url的头,并转换为byte
//处理异常,将ascii码小于0的转换为大于0
var ab = new ArrayBuffer(bytes.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < bytes.length; i++) {
ia[i] = bytes.charCodeAt(i);
}
return new Blob( [ab] , {type : 'image/jpg'}); //return Blob对象
}
var formData = new FormData($("#toPic")[1]);
var blob = base64UrlToBlob(base64);
console.log(blob);
formData.append("coverImage",blob);
$.ajax({
url: "xxx",
type: "POST",
data: formData,
dataType: "json",
contentType:false,
processData: false,
success: function (json) {
console.log(json);
},
});
setTimeout(function () {
demo_report('预压的图片', base64, base64.length * 0.5);
}, 100);
});
};
})();
图片采用base64压缩,可以以字符串的形式传送base64给服务端转存为图片的更多相关文章
- Java TCP服务端向客户端发送图片
/** * 1.创建TCP服务端,TCP客户端 * 2.服务端等待客户端连接,客户端连接后,服务端向客户端写入图片 * 3.客户端收到后进行文件保存 * @author Administrator * ...
- linux c做服务端使用多线程接收图片并且将图片写入数据库
#include<sys/socket.h> #include<sys/types.h> #include<sys/stat.h>//包含文件的全部结构,属性 #i ...
- 服务端Latex解析成图片或者HTML或者SVG方案
Latex公式表达式在服务端进行转换成可用数据 使用语言与扩展 node.js Mathjax (文档链接) MathJax在nodejs上解决方案 mathjax/MathJax-node(GitH ...
- 在CentOS7上安装ftp服务器用于保存服务端上传的图片。
1.CentOS卸载vsftpd的方法 如果服务器上已经安装了vsftpd服务,配置出错需要卸载vsftpd服务. 1.1 查找vsftpd服务 [root@localhost /]# rpm -aq ...
- C#对图片文件的压缩、裁剪操作初探
在做项目时,对图片的处理,以前都采用在上传时,限制其大小的方式,这样带来诸多不便.毕竟网站运维人员不一定会对图片做处理,经常超出大小限制,即使会使用图片处理软件的,也由于个人水平方面原因,处理效果差强 ...
- C#对图片文件的压缩、裁剪操作
在做项目时,对图片的处理,以前都采用在上传时,限制其大小的方式,这样带来诸多不便.毕竟网站运维人员不一定会对图片做处理,经常超出大小限制,即使会使用图片处理软件的,也由于个人水平方面原因,处理效果差强 ...
- C#实现对图片文件的压缩、裁剪操作实例
本文实例讲述了C#对图片文件的压缩.裁剪操作方法,在C#项目开发中非常有实用价值.分享给大家供大家参考.具体如下: 一般在做项目时,对图片的处理,以前都采用在上传时,限制其大小的方式,这样带来诸多不便 ...
- 在ASP.NET MVC下实现单个图片上传, 客户端服务端双重限制图片大小和格式, 服务端裁剪图片
在"MVC文件图片ajax上传轻量级解决方案,使用客户端JSAjaxFileUploader插件01-单文件上传"一文中,使用JSAjaxFileUploader这款插件实现了单文 ...
- weui上传多图片,前端压缩,base64编码
记录一下在做一个报修功能的心路历程,需求功能很简单,一个表单提交,表单包含简单的文字字段以及图片 因为使用的是weui框架,前面的话去找weui的表单和图片上传组件,说实话,weui的组件写的还不错, ...
随机推荐
- Sality.m分析
Sality.m分析 0x1.样本概述 FILE_A MD5:1C9A0E01C6033801AFC5A12DE1CC5BDC FILE_B MD5:4B6B70F4A199CF3EAC1554B08 ...
- paintEvent(QPaintEvent*)是系统自动调用的
qt中函数paintEvent(QPaintEvent*)是被系统自动调用. paintEvent(QPaintEvent *)函数是QWidget类中的虚函数,用于ui的绘制,会在多种情况下被其他函 ...
- 【河北省队互测】 gcd BZOJ 2818
Description 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对(x,y)有多少对. Input 一个整数N Output 如题 Sample Input 4 Sa ...
- Appium for iOS setup
windows下appium设置 之前研究了一段时间的appium for native app 相应的总结如下: ...
- NXP NFC移植及学习笔记(原创)
NFC功能介绍 NFC 目前使用的三种功能: 1. P2P模式:基于LLCP协议的基础上,以NDEF数据交换格式来通信. 2. 读写模式:当作为读卡器,对NFC Tag的读写. 3. 卡模拟模式:模块 ...
- linux 文件系统
/ 根目录 /bin 存放着启动时所需要的普通程序.很多程序在启动以后也很有用,它们放在这个目录下是因为它们经常要被其他程序调用 /boot 很多Linux系统把内核映像和其他一些和启动有关的文件都放 ...
- Gnome_Terminal
快捷键 ctrl shift m 我自定义的快捷键,可以给终端命名 ctrl shift t 新建标签页,并且目录为当前目录 ctrl shift pageup 标签页往前移 ctrl shift p ...
- Linux学习记录
---恢复内容开始--- linux与unix的关系 linux是借鉴了unix设计思想,也称linux位类unix系统. Linux常用命令 1.命令基本格式 命令[选项][参数] 注意:个别命令不 ...
- javaSE基础06
javaSE基础06 一.匿名对象 没有名字的对象,叫做匿名对象. 1.2匿名对象的使用注意点: 1.我们一般不会用匿名对象给属性赋值的,无法获取属性值(现阶段只能设置和拿到一个属性值.只能调用一次方 ...
- ubantu php7.0版本降级到php5.6
http://askubuntu.com/questions/756879/cant-install-php5-on-ubuntu-16-04