当前位置:   article > 正文

腾讯design vue项目 上传桶 腾讯云的桶 对象存储 打包web端项目上传dist

腾讯design vue项目 上传桶 腾讯云的桶 对象存储 打包web端项目上传dist

1.说明

将腾讯design 项目上传到 腾讯云的对象存储中 ,但是发现 再这个腾讯design项目中 直接npm run build 打包以后 上传 发现 不能用 需要配置东西

2.解决

使用腾讯云的cos-nodejs-sdk-v5  插件 代码上传

cos-nodejs-sdk-v5 - npm

npm i cos-nodejs-sdk-v5 --save

示例:

  1. // 引入模块
  2. var COS = require('cos-nodejs-sdk-v5');
  3. // 创建实例
  4. var cos = new COS({
  5. SecretId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  6. SecretKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  7. });
  8. // 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
  9. var Bucket = 'test-1250000000';
  10. // 存储桶Region可以在COS控制台指定存储桶的概览页查看 https://console.cloud.tencent.com/cos5/bucket/
  11. // 关于地域的详情见 https://cloud.tencent.com/document/product/436/6224
  12. var Region = 'ap-guangzhou';
  13. // 高级上传
  14. cos.uploadFile(
  15. {
  16. Bucket: Bucket,
  17. Region: Region,
  18. Key: '1.zip',
  19. FilePath: './1.zip', // 本地文件地址,需自行替换
  20. SliceSize: 1024 * 1024 * 5, // 触发分块上传的阈值,超过5MB使用分块上传,非必须
  21. },
  22. function (err, data) {
  23. console.log(err, data);
  24. }
  25. );

 3.真实解决

①.根目录新建uploadToCOS.js 文件

②. 代码

  1. const path = require('path');
  2. const fs = require('fs');
  3. const COS = require('cos-nodejs-sdk-v5');
  4. // 配置腾讯云COS参数
  5. const cos = new COS({
  6. SecretId: "xxxxxxxxxxxx", // 身份识别 ID
  7. SecretKey: "xxxxxxxxxx", // 身份密钥
  8. });
  9. // 获取dist目录下的所有文件
  10. const dirPath = path.resolve(__dirname, 'dist');
  11. // 遍历目录并上传文件
  12. function traverseDirectory(dirPath, prefix = '') {
  13. const files = fs.readdirSync(dirPath);
  14. files.forEach((file) => {
  15. const filePath = path.join(dirPath, file);
  16. const relativePath = path.relative(dirPath, filePath);
  17. const cosKey = path.join(prefix, relativePath).replace(/\\/g, '/'); // 使用 / 替换 \,确保在 COS 上是正斜杠
  18. if (fs.statSync(filePath).isDirectory()) {
  19. // 如果是目录,则继续遍历子目录,并传入新的前缀
  20. traverseDirectory(filePath, cosKey);
  21. } else {
  22. // 如果是文件,则上传文件
  23. fs.readFile(filePath, (err, data) => {
  24. if (err) {
  25. console.error(`\n读取文件 ${relativePath} 失败:`, err);
  26. return;
  27. }
  28. const params = {
  29. Bucket: 'xxxxxxxxxxx',
  30. Region: 'x'x'x'xxxxx',
  31. Key: cosKey,
  32. Body: data, // 使用文件内容进行上传
  33. };
  34. cos.putObject(params, function (err, data) {
  35. if (err) {
  36. console.log(data);
  37. console.error(`\n上传文件 ${relativePath} 失败:`, err);
  38. } else {
  39. console.log(data);
  40. console.log(`\n上传文件 ${relativePath} 成功`);
  41. }
  42. });
  43. });
  44. }
  45. });
  46. }
  47. // 开始遍历上传
  48. traverseDirectory(dirPath);

③.控制台执行代码

node uploadToCOS.js

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/180406
推荐阅读
相关标签
  

闽ICP备14008679号