文档

Node.js上传回调

更新时间:

对象存储OSS在完成文件(Object)上传时可以提供回调(Callback)给应用服务器。您只需要在发送给OSS的请求中携带相应的Callback参数,即可实现回调。

注意事项

在配置上传回调之前,请确保您已了解该功能。更多信息,请参见上传回调

示例代码

以下代码用于在上传本地文件examplefile.txt到目标存储空间examplebucket中的exampleobject.txt文件时使用上传回调(callback)。

const OSS = require('ali-oss');
varpath=require('path');

const client = new OSS({
  // yourregion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
  region: 'yourregion',
  // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  // 填写Bucket名称。
  bucket: 'examplebucket'
});

const options = {
  callback: {
    // 设置回调请求的服务器地址,例如http://oss-demo.aliyuncs.com:23450。
    url: 'http://oss-demo.aliyuncs.com:23450',
    //(可选)设置回调请求消息头中Host的值,即您的服务器配置Host的值。
    //host: 'yourCallbackHost',
    // 设置发起回调时请求body的值。
    body: 'bucket=${bucket}&object=${object}&var1=${x:var1}&var2=${x:var2}',
    // 设置发起回调请求的Content-Type。
    contentType: 'application/x-www-form-urlencoded',
    // 设置发起回调请求的自定义参数。
    customValue: {
      var1: 'value1',
      var2: 'value2'
    }
  }
}

async function put () {
  try {
    // 填写Object完整路径和本地文件的完整路径。Object完整路径中不能包含Bucket名称。
    // 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件。
    let result = await client.put('exampleobject.txt', path.normalize('/localpath/examplefile.txt'), options);
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

put();        

相关文档

  • 关于上传回调的完整示例代码,请参见GitHub示例

  • 关于上传回调的API接口说明,请参见Callback

  • 关于上传回调的错误原因和解决方法,请参见203错误

  • 本页导读 (1)
文档反馈