在uni-app微信小程序开发工具中调用云函数上传文件到七牛云扩展存储时调用getExtStorageManager会报错Error Parameter sk is required

在uni-app微信小程序开发工具中调用云函数上传文件到七牛云扩展存储时调用getExtStorageManager会报错Error Parameter sk is required

示例代码:

'use strict';
exports.main = async (event, context) => {
let { cloudPath } = event;
const extStorageManager = uniCloud.getExtStorageManager({
provider: "qiniu",
domain: "example.com",
});
console.log('extStorageManager:', extStorageManager);
// 获取上传参数
let uploadFileOptionsRes = extStorageManager.getUploadFileOptions({
cloudPath: `Avatar/${Date.now()}.jpg`,
allowUpdate: false,
});
console.log('uploadFileOptionsRes:', uploadFileOptionsRes);
return uploadFileOptionsRes;
};

操作步骤:

在微信小程序开发工具中调用云函数上传文件到七牛云扩展存储,在云函数中测试上传一个网络图片到扩展存储. 在浏览器直接访问这个云函数地址,会返回

{"success":false,"error":{"code":"FunctionBizError","message":"50001:Parameter sk is required"}}

预期结果:

上传成功

实际结果:

getExtStorageManager 会报错Error: Parameter sk is required 。

到七牛云官网找到sk和ak,以及在DCloud后台里面开发者参数的bucketName,加到在uniCloud.getExtStorageManager中,又会报错 errCode: 631, errMsg: ‘no such bucket’ ,换成DClound后台里面开发者参数的bucketSecret,又会报错:uploadResult: { errCode: 401, errMsg: ‘bad token’ 。

bug描述:

在微信小程序开发工具中调用云函数上传文件到七牛云扩展存储时,调用getExtStorageManager 会报错Error: Parameter sk is required

[generateUploadUrl/ac1cc3171743480463659105253/3ms/ERROR] Parameter sk is required
Error: Parameter sk is required
at Object.throwError (/tmp/function/@common_modules/uni-cloud-ext-storage/index.js:1:10294)
at new N (/tmp/function/@common_modules/uni-cloud-ext-storage/index.js:1:13438)
at $n.H.Object.getPrototypeOf.getExtStorageManager (/tmp/function/@common_modules/uni-cloud-ext-storage/index.js:1:29121)
at Object.<anonymous> (/tmp/function/__index.js:3:36)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions…js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
请求响应状态: fail


更多关于在uni-app微信小程序开发工具中调用云函数上传文件到七牛云扩展存储时调用getExtStorageManager会报错Error Parameter sk is required的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

问题已修复,现在重启hbx,并重新上传跟扩展存储相关的云函数试试

更多关于在uni-app微信小程序开发工具中调用云函数上传文件到七牛云扩展存储时调用getExtStorageManager会报错Error Parameter sk is required的实战教程也可以访问 https://www.itying.com/category-93-b0.html


谢谢,已解决

目前已找到原因,正在处理中,可以私发下你的空间id

这个错误是因为缺少七牛云的必要配置参数。在uniCloud.getExtStorageManager中需要正确配置七牛云的accessKey和secretKey。

正确的配置方式应该是:

const extStorageManager = uniCloud.getExtStorageManager({
  provider: "qiniu",
  domain: "example.com",
  accessKey: "你的七牛云AK",
  secretKey: "你的七牛云SK",
  bucket: "你的存储空间名称"
});
回到顶部