Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

qcos-upload

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

qcos-upload

cos upload

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

fork自qcloud-upload;

fix window下使用,分隔符为"\",现已修改为“/”。

增加两个新选项clearDistDirsetHeaders

qcloud-upload

基于 nodejs 腾讯云上传插件,支持自定义文件前缀、覆盖及非覆盖上传方式

Install

npm install --save-dev qcos-upload

Usage

Step 1. 创建文件 upload.js

const uploadQcloud = require('qcloud-upload');
const setHeaders = (obj)=>{
    const reg = /.*\.(js|css|gz)$/
    if(reg.test(obj.Key)){
      obj.ContentEncoding = "gzip";
    }
    return obj;
};
const options = {
  AppId: 'STRING_VALUE',
  Region: 'STRING_VALUE',
  SecretId'STRING_VALUE',
  SecretKey'STRING_VALUE',
  Bucket: 'STRING_VALUE',
  Headers: {
    CacheControl: 'max-age=31536000'
  },
  prefix: 'test',
  src: './examples',
  overWrite: 1,
  clearDistDir : true,
  setHeaders : setHeaders
};

uploadQcloud(options);

Step 2. 执行上传操作 node upload.js

API

uploadQcloud([options])

options

Type: Object

There are 8 options:
  • AppId(string): 注册或登录 腾讯云 获取您的AppId,可参考下方说明。
  • SecretId(string): 到 腾讯云控制台密钥管理 获取您的项目 SecretId 和 SecretKey。
  • SecretKey(string): 同 SecretId。
  • Bucket(string): 到 COS 对象存储控制台 创建存储桶,得到 Bucket(存储桶名称) 和 Region(地域名称)。
  • Region(string): Bucket 所在区域。枚举值请见:Bucket 地域信息
  • Headers(object): 设置头信息,具体 API 参考简单上传-参数说明
  • prefix(string): 自定义文件前缀,例如本地文件路径 img.png ,设置了 Prefix: 'demo',最终腾讯云路径为 demo/img.png,默认为空。
  • overWrite(string): 是否覆盖同名文件,默认 false。
  • src(string): 上传文件夹相 相对路径,以本项目 examples 文件夹为例,设置 src: './examples',上传腾讯云后文件路径为 https://static.demo.com/your-options.prefix/img.png。(v1.3.0以上版本支持)

以下 API 在 v1.3.0+ 版本中废弃:

  • dirPath(string): 上传文件夹的 绝对路径 ,以本项目 examples 文件夹为例,应设置 path.resolve(__dirname, './examples')
  • distDirName(string): 截取文件路径参考项,以本项目 examples 文件夹为例,不设置该项,上传腾讯云后文件路径为 https://static.demo.com/your-options.prefix/Users/yingye/Desktop/qcloud-upload/examples/img.png。若设置该项 distDirName: 'examples' 后,文件URL为 https://static.demo.com/your-options.prefix/examples/img.png,相当于对 dirPath 绝对路径做了截取操作。
新增两个选项
  • clearDistDir(boolean): false 上传之前,清除prefix下的所有文件。
  • setHeaders(function): null 自用,根据文件名后缀添加一些Header。
! AppIdBucket 的说明:

腾讯云官方 api 修改,去掉 AppId 概念,Bucket 需要传入这样的格式 test-1250000000。本插件,兼容两种配置方式,示例如下:

// old api options
const options = {
  AppId: 'your AppId',
  Bucket: 'old Bucket',
  ...
};
// new api options
const options = {
  Bucket: 'AppId-Bucket',
  ...
};

TIPS

该插件基于 腾讯云 COS Nodejs SDK V5 构建,可参考腾讯云官方文档 Node.js SDK

如果项目中使用构建工具 gulp,建议使用 gulp-upload-qcloud

Keywords

FAQs

Package last updated on 09 Mar 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc