开发日记(5): 小程序中ios系统上传图片视频的坑

337 阅读2分钟

背景

最近做类似小红书那种种草社区,涉及到一些问题我自己安卓机测的好好的,测试一测就出问题,问了下手机ios系统什么iphoneX 12 8 啊 之类,所以简单归纳下,自己遇到的;

实际例子

一、上传图片和视频(ios返回的file中没有文件类型fileType)

在做种草内容发布模块的图片视频上传中,调用 # wx.chooseMedia接口选择本地相册文件,然后在success的回调返回中需要将文件tempFilePath本地路径通过wx.uploadFile上传到服务器中,但是因为涉及视频缩略图,写了个下图这样的判断,大意是根据选择的文件类型判断如果是图片只传图片,如果是视频还需要上传视频缩略图thumbTempFilePath。

image.png 安卓中我自己开发调试ok的,但是测试ios测发现上传图片一直出错,但是上传视频却可以成功。最后自己在家翻出了平板用来查看为啥ios失败

1.1 首先是ios报错

image.png filePath路径为undefined,然后我看了下ios中wx.chooseMedia返回的file,是有路径的,但是没有文件类型fileType,对比下面两个图(上为ios,下为安卓)。所以我在上传图片时候,程序也走到了 else 中 需要上传 thumbTempFilePath,视频缩略图,然后就报错了上面截图的 filePath路径为undefined;

image.png

image.png

下面是微信开发文档说会返回的,但是实际情况却是我踩的坑。

image.png 最后用这样解决了问题,判断是否有缩略图。

image.png

二、总结

其实开发中 ios还有很多坑,比如 时间格式为 2021-12-30 和 2021/12/30 ios只能识别第二种,第一种不能识别,还得转换。 还有 iphonex的适配等等