首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用FormData上传压缩裁剪后的图片Blob对象

在前端页面,我们通常会遇到需要用户上传图片的操作,可能还会在前端进行图片编辑的操作(比如头像的选区裁剪),然后如果图片过大的话,我们还会对图片进行压缩。...到后端进行处理和保存 在前端将Base64字符串转换成二进制的Blob对象形式,再使用常规的文件上传形式(即FormData)来将其上传到后端 第一种方式对前端来说比较简单,主要的处理逻辑在后端。...Blob对象 <input type="file" name="myfile" id="myfile" onchange="uploadHandler...base64字符串转换为<em>Blob</em><em>对象</em> */ function convertToBlob(base64Str, fileType) { var...生成的表单数据中,<em>上传</em>文件对应的filename会被设置为<em>blob</em>: ?

3.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

在Ionic和Android中上传Blob图片

[记录点滴]在Ionic和Android中上传Blob图片 0x00 摘要 本文是开发中的简略记录,具体涉及知识点有:Blob,Ionic,Android和Lua。...起因是因为刚刚看到一篇关于Blob的文章你不知道的 Blob ,突然回忆起来在开发过程中也曾经使用过这种图片,所以就翻了翻代码,整理记录下来。...0x01 Blob Blob(Binary Large Object)表示二进制类型的大对象,通常是影像、声音或多媒体文件。...在 JavaScript 中 Blob 对象表示一个不可变、原始数据的类文件对象,它不一定非得是大量数据,也可以表示一个小型文件的内容。...0x02 项目简述 项目涉及方面比较多,有Ionic,Android,ios,后台处理图片部分是Lua。客户端需要上传图片到后台。因为ios中上传图片这部分我没有参与,所以略过。

1.3K20

js拖拽上传图片

有时候,在开发中,需要遇到拖拽上传图片的需求,即从磁盘选中一张或多张图片,然后按着鼠标把图片拖动到页面上指定的区域,实现图片上传。...1、后端上传图片的接口 我是之前用vue写一个简单的后台系统的时候,用Java的SpringMVC+MyBatis的框架写了一个简单的后台管理的一些接口,刚好有一个上传用户头像的接口,该接口是把上传后的图片存储在另外一台...Tomcat下,这里就直接使用这个接口来上传图片。...ie=edge"> Document <script src="https://cdn.bootcss.com/jquery/1.12.0/jquery.<em>js</em>...里面用的formData<em>对象</em>来<em>上传</em><em>图片</em>的,该<em>对象</em>的作用是:   1、用一些键值对来模拟一系列表单控件,即把form中所有表单元素的name与value组装成一个queryString;   2、异步<em>上传</em>二进制文件

18.1K30

js批量上传文件_批量上传图片java

今天说一说js批量上传文件_批量上传图片java,希望能够帮助大家进步!!!...文件上传无疑是web应用中一个非常常用的功能,下面小编给大家分享一下diyUpload.js+ThinkPHP中的UploadFile类实现图片的批量上传。...,可以点击图片上的“X”按钮删除,如下: 页面上js代码如下: 此代码由Java架构师必看网-架构君整理 /* * 服务器地址,成功返回,失败返回参数格式依照jquery.ajax习惯...‘开始上传’按钮上传图片上传完成后页面展示如下图: 可以修改或者删除图片,也可以点击‘全选图片’按钮,批量删除图片,或者选择多张图片删除: PHP上传图片代码: 此代码由Java..."))); } } } 到此,批量上传图片就全部实现了,但是有一个bug一直困扰了小编很久,就是有些图片原图会成功上传,但缩略图会上传成黑色的图片,如图:

27.3K40

js实现本地上传图片预览

在做网站系统时经常会用到图片上传功能,用户往往希望能看到自己上传图片的样子,有的人是采用将图片上传到服务器之后再回显到页面,这种方式在无形之中增加了服务器的运行压力,因为如果用户感觉不满意还会再次上传图片...为了减轻服务器压力,我们通过js来实现本地图片上传预览功能,不经过服务器就实现预览效果。...file" name="file" id="doc" style="width:150px;" onchange="javascript:setImagePreview();"> 上面这部分代码是页面上传按钮和显示图片的区域...接下来请看js控制代码 function setImagePreview(avalue) { var docObj=document.getElementById("doc"); var imgObjPreview...imgObjPreview.style.display = 'none'; document.selection.empty(); } return true; } 这样我们就实现了本地图片上传预览功能

8K40

plupload多文件上传插件上传文件出现blob的问题处理

第一次使用plupload,上传文件后发现出现了一个blob文件,同时有的文件并没有被上传上,这是什么鬼,大概的搜了下,有遇到这个问题的,不过没有几个实质性的解决了的这个问题还是得靠自己了。...查了下,chunk_size 用来设置块的大小,也就是把一个文件分成这么大的块来进行上传,看来问题就是出在这儿了。把这项设置的值加大,改成10mb或者100mb,再测试就没这问题了。...说下原因: chunk_size 可以把文件分成多块来上传,这样可以绕过服务器允许的最大上传文件大小的限制,前提是需要上传接口支持文件续传。...这个参数一般设置成与服务器允许的最大文件大小一致就可以了,或者是上传接口支持文件续传。

2.2K30

Ajax文件上传时:Formdata、File、Blob的关系

bits,一个包含ArrayBuffer,ArrayBufferView,Blob,或者 DOMString 对象的 Array — 或者任何这些对象的组合。这是 UTF-8 编码的文件内容。...关于文件对象的URL怎么获得,这里要用到URL.createObjectURL(object)方法,参数object为一个File对象或者Blob对象,返回值就是一个UTF-16字符串,可以当作a标签的...Blob 对象表示一个不可变、原始数据的类文件对象。...这个新的URL 对象表示指定的 File 对象或 Blob 对象。参数为用于创建 URL 的 File 对象Blob 对象或者 MediaSource 对象。​...返回的JSON对象是由一个对象数组组成的,其中每个对象包含一个或两个名值对——name参数和value参数(如果value不为空的话) 上传图片大小检测 let nImg = new Image(

2.8K30

图片转换js (img对象,file对象,base64,canvas对象),以及图片压缩方式(转载)

画布,或者是一个Image对象,或者直接就是一个图片的url地址,我们需要将它们压缩上传到远程; 二、解决办法 如上图所示,七个方法,基本覆盖了JS中大部分文件类型的转换与压缩,其中: 1、 urltoImage...(url,fn) 会通过一个url加载所需要的图片对象,其中 url 参数传入图片的 url , fn 为回调方法,包含一个Image对象的参数,代码如下: function urltoImage (url...Blob 类型对象;其中 canvas 参数传入一个 Canvas 对象; quality 参数传入一个0-1的 number 类型,表示图片压缩质量; fn 为回调方法,包含一个 Blob 对象的参数...},'image/jpeg',quality); }; 这里的 Blob 对象表示不可变的类似文件对象的原始数据。...; }) ps:下面看下JS等比压缩图片的办法 function proDownImage(path,imgObj) { // 等比压缩图片工具 //var proMaxHeight = 185;

4.4K41

Blob数据对象实际应用中方法

Blob数据对象实际应用中方法 一个Blob对象就是一个包含有只读原始数据的类文件对象Blob对象中的数据并不一定得是JavaScript中的原生形式。...创建Blob对象的方法有几种,可以调用Blob构造函数,还可以使用一个已有Blob对象上的slice()方法切出另一个Blob对象,还可以调用canvas对象上的toBlob方法。...在实际Web应用中,Blob更多是图片二进制形式的上传与下载,虽然其可以实现几乎任意文件的二进制传输。...); eleAppend.appendChild(img); } } xhr.send(); 图片.png Blob对象有两个属性,参见下表: 属性名 类型 描述 size...type DOMString 一个字符串,表明该Blob对象所包含数据的MIME类型。例如,上demo图片MIME类似就是”image/jpeg“. 如果类型未知,则该值为空字符串。 只读。

25600
领券