node 上传文件到阿里oss

配置环境直接在控制台开通 oss服务,密钥,bucket等然后设置跨域等。这里不细描述了。

1.安装阿里oss包

var OSS = require('ali-oss');

2.设置oss参数

var client = new OSS({
    region: 'oss-cn-*****',
    //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,部署在服务端使用RAM子账号或STS,部署在客户端使用STS。
    accessKeyId: '******',
    accessKeySecret: '******',
    bucket: 'ceshi33'
  });

3.异步上传

async function put () {
  try {
       //object-name可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形式,实现将文件上传至当前Bucket或Bucket下的指定目录。
    let result = await client.put('test0608001', 't.txt');
    console.log(result);
   } catch (err) {
     console.log (err);
   }
}

put();

4.成功信息

5.阿里控制台查看

以下是上传文件阿里OSS 的 Vue 前端完整代码示例: ```html <template> <div> <input type="file" @change="handleFileUpload" /> <button @click="uploadFile">上传文件</button> </div> </template> <script> import OSS from 'ali-oss' export default { data() { return { file: null, client: null, region: 'your-region', accessKeyId: 'your-access-key-id', accessKeySecret: 'your-access-key-secret', bucket: 'your-bucket-name', uploadPath: 'your-upload-path', progress: 0 } }, methods: { handleFileUpload(event) { this.file = event.target.files[0] }, async uploadFile() { const fileName = this.file.name const fileType = fileName.substring(fileName.lastIndexOf('.')) // 初始化 OSS 客户端 this.client = new OSS({ region: this.region, accessKeyId: this.accessKeyId, accessKeySecret: this.accessKeySecret, bucket: this.bucket }) // 上传文件 try { const result = await this.client.multipartUpload( `${this.uploadPath}/${fileName}`, this.file, { progress: progress => { this.progress = progress * 100 } } ) console.log(result) } catch (err) { console.error(err) } } } } </script> ``` 其中,`ali-oss` 是阿里OSS 官方提供的 Node.js SDK,可以通过 `npm install ali-oss` 命令进行安装。在代码中,我们首先在 `data()` 方法中定义了上传需要用到的参数,如 `region`、`accessKeyId`、`accessKeySecret`、`bucket`、`uploadPath` 等,并且定义了 `file` 和 `client` 两个变量,`file` 变量用于存储用户选择的文件,`client` 变量则用于初始化 OSS 客户端。 在 `handleFileUpload()` 方法中,我们通过 `@change` 监听 input 文件选择事件,获取用户选择的文件,将其存储在 `file` 变量中。 在 `uploadFile()` 方法中,我们首先获取上传文件的名称和后缀,然后通过 `new OSS()` 初始化 OSS 客户端,接着使用 `multipartUpload()` 方法上传文件,其中第一个参数为上传OSS 的完整路径,第二个参数为要上传文件,第三个参数为上传进度回调。在上传过程中,通过 `this.progress` 存储上传进度,最终上传完成后,将返回上传成功的结果。 当然,在实际应用中,你需要根据你的实际情况进行相应的修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值