开发者社区> 问答> 正文

钉钉内嵌H5 上传图片发现ios15以下的可以正常上传,15以上的报错,本地没问题,线上报错

UI框架:vant2:2.12.54

钉钉内嵌H5

上传图片发现ios15以下的可以正常上传,15以上的报错,本地没问题,线上报错

报错如下:

Uncaught (in promise) {"name": "TypeError", "message": "undefined is not a function (near '...formData.forEach...')", "stack": "formData2Str@\ngetwaySign@\ngetWaySignHeader@\n@\npromiseReactionJob@[native code]"}

然后发现是IOS 的formdata 获取和别的不一样 又个对象 realFormData ,但是里面的内容一直是空 导致上传到阿里云前一直报错

展开
收起
1710712125224222 2023-04-21 11:22:36 562 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    错误信息和描述,看起来您的代码中存在以下问题:

    formData.forEach 不是一个函数,导致了 undefined is not a function 的错误。这可能是因为 formData 不是一个数组或类数组对象,而是一个普通的对象。

    realFormData 对象中的内容一直为空,导致无法上传到阿里云。这可能是因为您没有正确地设置 realFormData 对象的属性和值。

    解决这些问题的方法如下:

    检查 formData 对象的类型,确保它是一个数组或类数组对象。如果不是,您需要将其转换为正确的类型。例如,您可以使用 Object.entries(formData).forEach 来迭代 formData 对象的属性和值。

    检查 realFormData 对象的属性和值,确保它们正确设置。例如,如果您想上传文件,您需要使用 realFormData.append('file', file) 来添加文件到 realFormData 对象中。

    综上所述,如果您在使用 formData 和 realFormData 进行上传时遇到了问题,可能是因为您没有正确地设置它们的属性和值,或者使用了错误的方法来迭代它们。请检查您的代码,并确保它们正确地设置了属性、值和迭代方式

    2023-06-26 08:04:09
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
From Java/Android to Swift iOS 立即下载
深入剖析iOS性能优化 立即下载