You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Node.js中将文件上传至AWS S3存储桶的指定文件夹?

上传文件到S3指定路径的方法

在S3中并没有真正的“文件夹”,所谓的目录都是通过对象键(Key)的前缀来模拟的。你只需要在Key参数里加上images/前缀,就能把文件放到/images路径下。

修改后的代码

async uploadFile(file: any) {
    try {
      console.log(file);
      const s3Params = {
        Bucket: xyz,
        // 给文件名加上images/前缀,模拟目录路径
        Key: `images/${file.originalname}`,
        Body: file.buffer,
      };

      // 注意:s3.upload返回Promise,无需回调,这样错误能被try/catch捕获
      const data = await s3.upload(s3Params).promise();
      console.log({ data });
    } catch (error) {
      return { data: null, error, status: 500 };
    }
  }

额外说明

你原来的代码存在await与回调混用的问题:传入回调时upload不会返回Promise,导致await无效,且回调内的错误无法被try/catch捕获。改成调用.promise()的方式,才能正确利用异步语法并统一错误处理。

内容的提问来源于stack exchange,提问作者vaibhav deep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 04:36:23