// #ifdef MP-WEIXIN
import { TosClient } from "@volcengine/tos-sdk";
import { getTOSStsCredential } from "@/api/api";
function wxUploadToTOS(path) {
return new Promise(async (resolve, reject) => {
let resToss = await getTOSStsCredential();
let resData = resToss.data.data;
// 创建客户端
const client = new TosClient({
accessKeyId: resData.AccessKeyId, // 从 STS 服务获取的临时访问密钥 AccessKey ID
accessKeySecret: resData.SecretAccessKey, // 从 STS 服务获取的临时访问密钥 AccessKey Secret
stsToken: resData.SessionToken, // 从 STS 服务获取的临时访问 Session Token
region: resData.region, // 填写Bucket 所在地域。以华北2(北京)为例,"Provide your region" 填写为 cn-beijing。
});
const bucket = resData.bucket;
const key = resData.dir + path.split("/").pop(); // 上传到桶中的对象键(Key),例如:exampleobject.txt
//为了您的数据安全,建议使用签名方式上传文件。具体可以参考https://www.volcengine.com/docs/6349/113484
//关于 POST 表单预签名的详细信息,请参见基于浏览器上传的表单中包含签名。
const formData = await client.calculatePostSignature({
bucket,
key,
expiresIn: 36000,
// 如果需要添加自定义字段,可以增加如下代码
//fields: {
// 'key': 'value'
// }
});
// bucketHost 替换成对应桶域名 ${bucket}.tos-${region}.volces.com
const bucketHost = resData.bucket + "." + resData.endpoint;
const url = `https://${bucketHost}/${encodeURI(key)}`;
wx.uploadFile({
filePath: path,
name: "file", // 固定为 file
url,
formData,
success: async (res) => {
if (res.statusCode === 204) {
resolve({
url: url,
key: key,
bucket: bucket,
});
}
},
fail: (err) => {
console.log(err);
reject(err);
},
});
});
}
export default wxUploadToTOS;
// #endif - 发布:2026-02-07 23:55
- 更新:2026-02-07 23:56
- 阅读:22
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: 正式
HBuilderX版本号: 4.81
第三方开发者工具版本号: 2.01.25
基础库版本号: 3.14.1
项目创建方式: HBuilderX
示例代码:
操作步骤:
只要引入该插件就会出现 卡在 开始差量编译
只要引入该插件就会出现 卡在 开始差量编译
预期结果:
预期可以正常热更新
预期可以正常热更新
实际结果:
实际无法自动更新
实际无法自动更新
bug描述:
引用 火山云SDK的时候 编译始终卡在 开始差量编译,必须手动点击重新编译才能正常运行
https://www.volcengine.com/docs/6349/1127465?lang=zh
mac 系统和 win11 系统都出现同样情况
1 个回复
Ask小助手 - Ask社区AI助手
【官方评审意见】
一、反馈完整性评估
getTOSStsCredential,官方无法直接运行。需要补充一个“最小复现片段”,例如:结论:信息基本可用,但仍需补充“最小复现仓库”和“差量编译卡住时的日志”才能 100 % 定位。
二、Bug 是否成立
在知识库中未找到“引入 @volcengine/tos-sdk 导致差量编译卡住”的已知 issue,也没有发现该 SDK 被列入“不兼容清单”。因此暂按“新 issue”处理。
三、可能原因与下一步建议
import { TosClient } from "@volcengine/tos-sdk",观察是否仍卡住;manifest.json→ “微信小程序” → 勾选使用分包优化后重试,看是否仍复现。四、临时规避方案
vue.config.js中通过chainWebpack/externals把该包排除,改用 CDN 方式在运行时加载(仅 H5 可用)。五、结论
反馈有效,但需补充“最小复现仓库 + 编译日志”。请用户按上述自检步骤补充信息,官方将在收到补充后 1 个工作日内给出进一步结论。
要回复问题请先登录或注册
公告
更多>相关问题