使用supabase-wechat-stable-v2这个sdk用uni-app开发app,上传文件报错
-
@luca 是微信小程序,用vite+uniapp+vs code开发,在微信开发者工具上调试。
-
@yujichicago
您好,可以添加一下小助手,帮您辅助定位问题
-
@yujichicago 你是用uni-app开发什么,是app还是小程序,然后是什么什么调试的,是手机模拟器还是电脑浏览器
-
@luca 您好,我更新到最新的2.1.8版,运行您的例子还是报同样的错:
{"data":null,"error":{"errno":1001,"errMsg":"uploadFile:fail parameter error: parameter.name should be String instead of Undefined;"}}
似乎StorageFileApi.js里的app_upload()代码没有更新?
-
@yujichicago 不好意思才看到消息,我们已经更新好了,如果您是开发app并且用手机调试的话,您可以重新试试最新版本哦
-
@luca debug了一下,发现在app_upload()的uni.uploadFile参数里加上name并且在headers填上supabaseKey的值就可以了,能否更新一下?谢谢。
-
@luca 没办法解决吗?
-
@luca 而如果直接调用upload():
let { error: uploadError } = await supabase.storage.from('avatars').upload(filePath, file)
则报错:
Error: module 'lib/formData.js' is not defined, require args is '../lib/formData.js'
-
@luca 您好,我也遇到了类似的问题,使用您提供的代码时提示:
{"data":null,"error":{"errno":1001,"errMsg":"uploadFile:fail parameter error: parameter.name should be String instead of Undefined;"}}
我怀疑是supabase-wechat-stable-v2\src\storage-js\src\packages\StorageFileApi.ts的第183行调用uni.uploadFile时没有传递name参数导致,能否确认一下?谢谢。
-
@awu 你好 上传图片那个问题你可以用这个api来上传,跟upload一样的用法,安装最新的supabase-wechat-stable-v2版本;示例代码如下:
upload() { uni.chooseImage({ count: 1, success: async (res) => { let str = res.tempFilePaths[0]; let lastIndex = str.lastIndexOf("/"); const file = str.substring(lastIndex + 1); const filePath = res.tempFilePaths[0]; const {data,error} = await supabase.storage .from("avatars") .unapp_upload(file, filePath); } }); },