Skip to content
Nodejs上传阿里云oss图片案例

安装模块

js
npm i ali-oss

app.js代码

js
const OSS = require('ali-oss')
const path=require("path")

const client = new OSS({
  // 填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
  // 查看地域方式:点击bucket仓库进入,进入概览页面--访问端口--外网访问--复制地域节点前面的前缀oss-cn-beijing。
  region: 'oss-cn-beijing',
  // 阿里云控制台悬浮头像下拉框找到AccessKey管理,点击创建AccessKey,创建成功后就有了下面两个记录
  accessKeyId: "XXXXXXXXXXXXXXXXXX",
  accessKeySecret: "XXXXXXXXX",
  // 填写Bucket名称。
  bucket: 'BucketName',
});

// 自定义请求头
const headers = {
    'x-oss-storage-class': 'Standard', // 指定Object的存储类型(标准存储)。
    'x-oss-object-acl': 'public-read', // 指定Object的访问权限(公共读取,否则链接不能访问)。
  };

async function put () {
  try {
    // put参数:第一个参数为保存的oss文件路径(不能包含./,可以以/开头,如下是Bucket根目录下的tax文件夹下的myImgFile.png文件),第二个参数为文件内容或文件流(文件路径(相对路径或者绝对路径))
    const result = await client.put('/tax/myImgFile.png', path.normalize('./myImgFile.png')
    // 自定义headers
    ,{headers}
    );
    console.log(result); // 上传成功(返回的结果里面有包含oss链接的信息)
  } catch (e) {
    console.log(e); // 上传失败
  }
}

put(); // 执行