Tencent Cloud Image Hosting (Upload files to get online URLs)

v1.0.0

Upload files to Tencent Cloud COS (Cloud Object Storage). Use when the user needs to upload images, documents, or any files to Tencent Cloud COS. Supports en...

0· 334· 1 versions· 1 current· 1 all-time· Updated 1mo ago· MIT-0

COS Upload

Upload files to Tencent Cloud COS (腾讯云对象存储) with automatic URL generation.

Quick Start

Method 1: Using Environment Variables

Set these environment variables:

export TENCENT_SECRET_ID=your-secret-id
export TENCENT_SECRET_KEY=your-secret-key
export TENCENT_COS_BUCKET=your-bucket-name
export TENCENT_COS_REGION=ap-guangzhou
export TENCENT_COS_PATH=uploads/  # optional

Then upload:

node cos-upload.js /path/to/file.png

Method 2: Using Command Line Arguments

node cos-upload.js /path/to/file.png \
  --secret-id AKIDxxx \
  --secret-key xxx \
  --bucket my-bucket-1250000000 \
  --region ap-guangzhou \
  --path images/

Output

On successful upload, returns:

  • Direct URL: https://{bucket}.cos.{region}.myqcloud.com/{key}
  • Signed URL: Pre-signed URL with 24-hour expiration (for private buckets)
  • COS Key: The object key in the bucket

Configuration Priority

  1. Command line arguments (highest priority)
  2. Environment variables
  3. Default values

Environment Variables

VariableRequiredDescription
TENCENT_SECRET_IDYesTencent Cloud API Secret ID
TENCENT_SECRET_KEYYesTencent Cloud API Secret Key
TENCENT_COS_BUCKETYesCOS bucket name (e.g., my-bucket-1250000000)
TENCENT_COS_REGIONYesCOS region (e.g., ap-guangzhou, ap-nanjing)
TENCENT_COS_PATHNoUpload path prefix (default: uploads/)

Command Line Options

OptionDescription
--secret-idTencent Cloud API Secret ID
--secret-keyTencent Cloud API Secret Key
--bucketCOS bucket name
--regionCOS region
--pathUpload path prefix

Notes

  • Files are uploaded with auto-generated unique names: upload_{timestamp}_{random}.{ext}
  • Supports all file types (images, documents, videos, etc.)
  • Uses 5MB multipart upload threshold for large files
  • Automatically generates both direct and pre-signed URLs

Version tags

latestvk97bpqzfg0kqeasm3ndg58bm3182b2nv