@luca 新版supabaseKey是加进去了,但是name一直没有加,可以加一下吗?
yujichicago 发布的最新帖子
-
RE: 使用supabase-wechat-stable-v2这个sdk用uni-app开发app,上传文件报错
-
RE: 使用supabase-wechat-stable-v2这个sdk用uni-app开发app,上传文件报错
@luca 用.upload()的话会出现我之前说的那个问题(见引用)。我目前的权宜做法是直接修改StorageFileApi.js的app_upload(),加上name参数:
app_upload(method, path, fileBody, fileOptions) { return __awaiter(this, void 0, void 0, function* () { try { const options = Object.assign(Object.assign({}, DEFAULT_FILE_OPTIONS), fileOptions); const headers = Object.assign(Object.assign({}, this.headers), (method === 'POST' && { 'x-upsert': String(options.upsert) })); // headers.Authorization = `Bearer ${this.supabaseKey}`; const cleanPath = this._removeEmptyFolders(path); const _path = this._getFinalPath(cleanPath); return new Promise((resolve, reject) => { uni.uploadFile({ url: `${this.url}/object/${_path}`, name: 'file', filePath: fileBody, header: headers, success: (uploadFileRes) => { resolve({ data: { path: cleanPath }, error: null }); }, fail: (err) => { reject({ data: null, error: err }); }, }); }); } catch (error) { if ((0, errors_1.isStorageError)(error)) { return { data: null, error }; } throw error; } }); }
注意这里的this.supabaseKey不存在,需要另外再传过去。
@yujichicago 在 使用supabase-wechat-stable-v2这个sdk用uni-app开发app,上传文件报错 中说:
@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'
-
RE: 使用supabase-wechat-stable-v2这个sdk用uni-app开发app,上传文件报错
@luca 是微信小程序,用vite+uniapp+vs code开发,在微信开发者工具上调试。
-
RE: 使用supabase-wechat-stable-v2这个sdk用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()代码没有更新?
-
RE: 使用supabase-wechat-stable-v2这个sdk用uni-app开发app,上传文件报错
@luca debug了一下,发现在app_upload()的uni.uploadFile参数里加上name并且在headers填上supabaseKey的值就可以了,能否更新一下?谢谢。
-
RE: 使用supabase-wechat-stable-v2这个sdk用uni-app开发app,上传文件报错
@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'
-
RE: 使用supabase-wechat-stable-v2这个sdk用uni-app开发app,上传文件报错
@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参数导致,能否确认一下?谢谢。