前端开发——图片压缩、上传form表单提交踩坑

在二开项目中,遇到实名认证接口要求图片大小不超过200K。尝试使用JavaScript和jQuery进行图片压缩,但发现压缩后的Blob无法替换到input file中。通过研究发现file类型的input值是只读的,因此采用将压缩后的Base64字符串作为新参数传递给后端。虽然目前采用折中方案,但仍期望能找到更优的解决方法。

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

最近在靠山平台接手了一个二开项目,项目开发中,对接上传身份证实名认证的接口的时候,后端小哥说图片大小要限制在200K以下,当时心想那就压缩下图片呗,小问题,然后一言难尽。。。直接说一下踩坑和折中解决的方法吧,然后有对这个问题比较了解的大神希望能够给予指点。

项目接口采用的是form表单提交,上传图片是input的file,图片压缩后的blob没办法替换到file上,这就是遇到的问题了。

压缩图片的方法是百度的,粘过来方便有需要的朋友用。https://www.jb51.net/article/182078.htm

本来应该直接上代码的 结果服务器炸了,没办法,先手敲吧,后面在改。

//HTML
<div>
    <form id="form">
        <input type="text" name="phone">
        <input type="text" name="code">
        <input type="text" name="name">
        <input type="hidden" name="card_z">

        //下面是原始file,form表单提交的card_z
        //<input type="file" name="card_z" onchange="card(this)">

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值