关于 uni.chooseImage后缀名大写的问题

在使用uni.chooseImage上传并压缩图片时,后端可能返回小写.png后缀,而数据库存储为大写.PNG。为避免不一致,前端需将图片路径中后缀转换为大写,确保正确访问。

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

在uni.chooseImage当中成功上传之后如果选择压缩图片统一会返回PNG大写后缀名的格式

这个是返回的格式
此时传给后端的是大写的后缀名,往往处理时,后端给前端反馈的都是小写的,
此时如果不想改变后端就需要前端自我处理代码如下:
在这里插入图片描述
result.data就是后端返回的数据格式类似于服务器地址+图片路径.png,但是数据库是PNG,把png转换为大写才能访问正确的进行。
如果后端不想做出改变,前端自行拼接即可,由于压缩过的图片统一PNG格式,所以还是很好处理的。
嗯 就这些

### 如何通过 `uni.chooseImage` 方法获取选中图片的文件后缀 在使用 `uni.chooseImage` 方法时,可以通过返回的对象中的路径来解析出图片的文件后缀名。具体实现方式如下: #### 解析思路 当调用 `uni.chooseImage` 后,会返回一个对象数组,其中每个对象都包含所选图片的信息,包括本地临时路径 (`tempFilePath`)。该路径通常以 `.jpg`, `.png` 等扩展名结尾。可以利用 JavaScript 的字符串操作函数提取这些扩展名。 以下是具体的代码示例: ```javascript // 使用 uni.chooseImage 获取图片并解析其后缀名 uni.chooseImage({ count: 1, // 设置最多可以选择的图片张数 sizeType: ['original', 'compressed'], // 可以指定原图或压缩图 sourceType: ['album', 'camera'], // 图片来源,相册或者相机 success(res) { const tempFilePaths = res.tempFilePaths; // 获取到的是一个数组 if (tempFilePaths.length > 0) { const filePath = tempFilePaths[0]; // 假设只处理第一张图片 const suffix = filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase(); // 提取后缀名 console.log('图片后缀名为:', suffix); // 输出后缀名 } }, fail(err) { console.error('选择图片失败:', err); } }); ``` 上述代码实现了从 `tempFilePath` 中提取文件后缀的功能[^1]。需要注意的是,在某些情况下(例如基础库版本较低),可能存在兼容性问题[^2]。因此建议开发者测试不同平台下的表现,并确保使用的 API 支持当前环境。 另外,如果遇到页面加载性能问题,尤其是涉及大量图片渲染的情况下,可通过 CSS 属性优化体验[^3]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值