使用base64进行移动端图片上传

本文介绍了如何在移动端使用Base64编码进行图片上传。通过FileReader将本地图片转为Base64字符串,然后通过POST请求发送到服务器。在前端,可以使用canvas进行图片压缩,以适应不同浏览器,特别是移动端。后端使用connect-multiparty中间件接收Base64编码的图片数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前搞微信上的图片上传,想直接通过接口上传到自己的图片服务器,发现移动端浏览器上挺多坑的,使用最简单的form-data形式好像不成。研究了一下,发现base64格式通用性较强。

base64编码

base64是一种使用可打印字符来描述二进制数据的方法。base64字符集共有64个字符,包括a-zA-Z0-9共62个,另外两个符号为+和/。

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

由于26=64,因而该64个字符只能描述6bits的数据,换句话说,3个字节有24bits,对应着4个base64字符。在做base64编码时,一般要在字节流最后补充一到两个0,相应的,编码完成后,要在base64串最后补充一到两个=。

解码

解码就是根据base64串还原二进制数据的过程。

图片显示

img标签是可以直接显示base64编码的图片,像下面这样:

<img src="data:image/gif;base64,R0lGODlhAwADAIABAL6+vv///yH5BAEAAAEALAAAAAADAAMAAAIDjA9WADs=" />

图片上传

图片上传可以通过form-data/Blob对象等方式,但针对不同的浏览器可能会出现适配上的问题。

如果将图片转化为base64格式,得到的就是一个字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值