网站建设教程这篇苏州久远网络,昆明网站制作,做网站图标,建设企业网站价格1.说明
将腾讯design 项目上传到 腾讯云的对象存储中 #xff0c;但是发现 再这个腾讯design项目中 直接npm run build 打包以后 上传 发现 不能用 需要配置东西
2.解决
使用腾讯云的cos-nodejs-sdk-v5 插件 代码上传
cos-nodejs-sdk-v5 - npm
npm i cos-nodejs-sdk-v5 … 1.说明
将腾讯design 项目上传到 腾讯云的对象存储中 但是发现 再这个腾讯design项目中 直接npm run build 打包以后 上传 发现 不能用 需要配置东西
2.解决
使用腾讯云的cos-nodejs-sdk-v5 插件 代码上传
cos-nodejs-sdk-v5 - npm
npm i cos-nodejs-sdk-v5 --save
示例
// 引入模块
var COS require(cos-nodejs-sdk-v5);
// 创建实例
var cos new COS({SecretId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,SecretKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,
});// 存储桶名称由bucketname-appid 组成appid必须填入可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
var Bucket test-1250000000;
// 存储桶Region可以在COS控制台指定存储桶的概览页查看 https://console.cloud.tencent.com/cos5/bucket/
// 关于地域的详情见 https://cloud.tencent.com/document/product/436/6224
var Region ap-guangzhou;// 高级上传
cos.uploadFile({Bucket: Bucket,Region: Region,Key: 1.zip,FilePath: ./1.zip, // 本地文件地址需自行替换SliceSize: 1024 * 1024 * 5, // 触发分块上传的阈值超过5MB使用分块上传非必须},function (err, data) {console.log(err, data);}
); 3.真实解决
①.根目录新建uploadToCOS.js 文件 ②. 代码 const path require(path);
const fs require(fs);
const COS require(cos-nodejs-sdk-v5);// 配置腾讯云COS参数
const cos new COS({SecretId: xxxxxxxxxxxx, // 身份识别 IDSecretKey: xxxxxxxxxx, // 身份密钥
});// 获取dist目录下的所有文件
const dirPath path.resolve(__dirname, dist);// 遍历目录并上传文件
function traverseDirectory(dirPath, prefix ) {const files fs.readdirSync(dirPath);files.forEach((file) {const filePath path.join(dirPath, file);const relativePath path.relative(dirPath, filePath);const cosKey path.join(prefix, relativePath).replace(/\\/g, /); // 使用 / 替换 \确保在 COS 上是正斜杠if (fs.statSync(filePath).isDirectory()) {// 如果是目录则继续遍历子目录并传入新的前缀traverseDirectory(filePath, cosKey);} else {// 如果是文件则上传文件fs.readFile(filePath, (err, data) {if (err) {console.error(\n读取文件 ${relativePath} 失败, err);return;}const params {Bucket: xxxxxxxxxxx,Region: xxxxxxxx,Key: cosKey,Body: data, // 使用文件内容进行上传};cos.putObject(params, function (err, data) {if (err) {console.log(data);console.error(\n上传文件 ${relativePath} 失败, err);} else {console.log(data);console.log(\n上传文件 ${relativePath} 成功);}});});}});
}// 开始遍历上传
traverseDirectory(dirPath);
③.控制台执行代码
node uploadToCOS.js