axios从URL获取文件并上传到s3

2023-11-25

我正在尝试使用 axios.get 从网站获取文件,然后将其直接上传到 S3。但是,文件已损坏或编码不正确,上传后无法打开。文件类型范围从 .jpg、.png 到 .pdf。这是我的代码:

axios.get(URL, {
  responseEncoding: 'binary',
  responseType: 'document',
}).then((response) => {
  return new Promise((resolve, reject) => {
    const s3Bucket = nconf.get('AWS_S3_BUCKET');

    s3.upload({
      'ACL': 'public-read',
      'Body': response.data,
      'Bucket': s3Bucket,
      'Key': `static/${filePath}/${fileManaged.get('filename')}`,
    }, function(err) {
      if (err) {
        return reject(err);
      }
    });
  });
});

我尝试过修改responseType to arraybuffer并使用创建缓冲区Buffer.from(response.data, 'binary').toString('base64'),无济于事。我缺少什么?


我能够通过使用让它工作arraybuffer.putObject函数而不是.upload

axios.get(encodeURI(url), {
  responseType: 'arraybuffer',
}).then((response) => {
s3.putObject({
  'ACL': 'public-read',
  'Body': response.data,
  'Bucket': s3Bucket,
  'Key': `static/${filePath}/${fileManaged.get('filename')}`,
} function(err) {
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

axios从URL获取文件并上传到s3 的相关文章

  • netstat 中未显示正在使用的端口,但尝试使用该端口被 Windows 拒绝

    我已经找到了这个问题的答案 只是想记录我的发现 在我最近的一个项目中 我发现某个端口不会在 netstat 中显示为正在使用 但是当我的项目尝试使用该端口时 会抛出错误 例如 假设我想使用端口 53000 netstat ano finds
  • 最小工作聚合物示例

    我一直在尝试使用 Polymer 获得一个极其简单的网页 以便在浏览器中简单地呈现 我在服务器端使用 Node ExpressJS Jade 设置 我的代码与 Polymer 文档附带的示例非常接近 我认为我缺少一些非常简单的东西 我正在使
  • pm2 start app.js 在 15 次重启后退出

    npm start 会很好地启动我的应用程序 但是当我这样做时 pm2 start app js I get PM2 Spawning PM2 daemon PM2 PM2 Successfully daemonized PM2 Proce
  • JSDocs:记录 Node.js 快速路由

    我正在努力使用 JSDocs 记录 router get 调用 如果我尝试将文档附加到我的路由器调用本身 我无法让文档在页面上正确显示 Health check memberof health router get happy functi
  • 启动服务器后,带有sequelize的Nodejs无法在mysql工作台中创建表

    我开始学习如何使用构建 Rest APINodejs Expressjs Sequelize and MySQL using Mysqlworkbench 我的问题 启动服务器后 该表不是由Sequelize并且没有表Mysqlworkbe
  • 从nodemailer为nodejs发送电子邮件

    当我尝试从 nodemailer 发送电子邮件时 出现错误 EAUTH API 我尝试过同时使用 Hotmail 和 Gmail 作为我的服务 因为我从文档中了解到 如果 Gmail 不起作用 就不要使用它 然而 这似乎不是问题 我想使用此
  • Amazon S3 EPIPE 错误

    UPDATE 让它工作从命令行 http www timkay com aws 向该用户添加完全访问策略权限后 现在 当我使用 Node 执行此操作时 没有错误 但我在 s3 文件管理器中看不到这些文件 我在使用 Amazon 的 S3 服
  • 使用 docker 在 NodeJS 上对 Postgres 进行 ECONNREFUSED

    我正在使用 postgresql 构建一个在 NodeJS 上运行的应用程序 我使用 SequelizeJS 作为 ORM 为了避免使用真正的 postgres 守护进程并在我自己的设备上使用 nodejs 我使用带有 docker com
  • 使用带有 --inspect 标志的“npm start”?

    有没有办法让我跑步npm start并传入 inspect 标志 npm inspect start不起作用 也不npm start inspect npm 支持node options使用传递的配置值NODE OPTIONS环境变量 该环
  • ES6 的 Visual Studio 任务运行程序错误

    我正在运行 Visual Studio 2017 并使用任务运行程序在我的gulpfile 我最近将 gulp 任务更新到 ES6 现在收到此错误 Failed to run C Users nz9rcn Code WebUI Gulpfi
  • Mongoose 选择要从 findOneAndUpdate 返回的字段

    在 Nodejs 中使用 Mongoose 您可以使用 find 返回一些字段 例如 User findOne id 132324 first name 1 last name 1 exec 但我似乎无法弄清楚如何使用 findOneAnd
  • 如何在 mongodb-native findAndModify 中使用变量作为字段名称?

    在使用 mongodb native 驱动程序的这段代码中 我想增加在单独变量中指定的字段的值 问题在于 在这种情况下 inc 子句中的字段名称将是 变量 而不是变量的内容 在查询部分中 所选变量按预期工作并找到正确的 ID var sel
  • AWS 获取带有自定义域的预签名 URL

    以下是我正在做的事情 我正在使用自定义域为我的非公开 s3 存储桶资源生成预签名 URL 另外 为了添加证书 我为具有以下原始设置的存储桶创建了一个 Cloudfront 发行版 源域名 bucket name s3 amazonaws c
  • 身份验证在不应该返回“401(未经授权)”时返回

    我第一次设置身份验证功能 在用户登录后得到了一些意外的结果 一位同事给了我一个具有工作身份验证的应用程序 以模仿我的应用程序 看起来我所做的一切都是正确的 我在前端使用 AngularJS 在后端框架使用 SailsJS 并且护照JS ht
  • 如何将 nartc/automapper 中的配置文件使用到 Nestjs 应用程序中

    我正在尝试在 NestJS 项目内的 nartc automapper lib 中使用 AutoMapper for nodejs 但是在尝试使用配置文件功能时遇到了麻烦 这是我的配置 应用程序模块 Module imports Autom
  • 在 Node.js 中生成带条形码的 pdf

    我在用https github com devongovett pdfkit https github com devongovett pdfkit生成 PDF 文件 我可以简单地使用类似的方法 app get get pdf req re
  • 如何在 Electron 应用程序上获得圆角?

    我目前正在尝试在我正在制作的电子应用程序上获得圆角 我已经尝试了目前在线提供的几乎所有解决方案 但没有一个有任何区别 如何让 Electron 应用程序变得圆润 制作无框透明窗 const myWindow new BrowserWindo
  • websockets 如何处理同一浏览器的两个选项卡

    I have 1 个 PHP 服务器 提供 http 请求 和 1 node js 发布更新的数据消息 每个连接都带有 websocket php 服务器设置其 cookie 在一个浏览器中 此 cookie 可在所有选项卡中使用 当浏览器
  • 使用express.js动态加载路线

    我使用express js作为网络服务器 并且想要一种简单的方法来将所有 app get 和 app post 函数分开以分隔文件 例如 如果我想为登录页面指定 get 和 post 函数 我希望在动态加载的路由文件夹中有一个 login
  • Firebase + Node.js:错误:找不到 XMLHttpRequest 兼容性库

    Firebase Node js On iOS 安装的 Node js npm 安装 firebase save 节点测试 js 其中 test js 是一个非常简单的连接到 Firebase 的脚本 var firebase requir

随机推荐

  • struts2中使用ajax上传文件

    如何使用ajax在struts 2中上传文件 下载Struts2 jQuery 插件并像平常使用 Struts2 那样进行操作
  • 如何在vs2012中添加对程序集的引用

    我需要有关如何在 C 代码中正确添加程序集的帮助 我启动一个空白项目并尝试运行下面的简单代码 但存在引用错误 我知道默认情况下 system dll 包含在引用文件夹下 那么为什么它仍然抱怨 System Configuration未被引用
  • Android 中的向前或向后兼容性?

    我想知道 Android 是否提供任何类型的兼容性 即向前或向后 这意味着 就像在 Blackberry 中一样 如果使用 JDE 4 2 开发应用程序 那么该应用程序将在任何具有 OS 4 2 或更高版本的手机上运行 这意味着它具有向前兼
  • xslt 有 split() 函数吗?

    如何根据某些分隔符拆分字符串 给定一个字符串Topic1 Topic2 Topic3 我想根据分割字符串 生成 Topic1 Topic2 Topic3 在 XSLT 1 0 中 您必须构建一个递归模板 这个样式表
  • 如何在网站上使用表情符号字体?

    我已经下载了谷歌的 诺托彩色表情符号 字体 但无法使其工作 我对 Noto Sans Regular 等字体没有任何问题 但使用 Noto Color Emoji 字体时 我在 Firefox 在 Windows 10 上 中收到以下错误
  • WPF 窗口设置焦点

    我有一个 WPF 窗口 我只创建一次 然后 Show 和 Hide 多次 现在我正在寻找一种方法来将焦点设置在每个 Show 上的元素上 我可以在哪里以及如何执行此操作 只需对要聚焦的元素调用 Element Focus 即可 如果您的意思
  • 在 Java 中使用另一个类的私有方法

    我有两节课 public class Class1 public class Class2 private void simpleMethod In Class2我有私人方法simpleMethod 我想用它Class1在同一个项目中 我不
  • 在apache服务器上导入Pandas导致超时错误

    我有一个在 Apache 服务器上运行的 Django 项目 我安装了 pandas 并想用它来开始操作数据 然而发生了一些奇怪的事情 每当我使用import pandas在生产环境中 服务器会挂起并 一段时间后 抛出 408 超时错误 我
  • 使用自定义 URL 参数启动 VS2010 silverlight 调试会话

    当我调试 Silverlight 应用程序时 Visual Studio 将仅打开页面 没有额外的 URL 参数 因此 网址将如下所示 http localhost 65351 MyApp 但是 当有人导航到 URL 中带有额外参数的页面时
  • 使用 Room @Transaction 函数时 Android 仪器测试未运行结束

    我正在使用 AS 3 4 1 和运行 Android 9 的模拟器进行测试 当我使用以下测试时 以下测试将无法运行Room Dao Function annotated with Transaction in it class Recurr
  • SQL Server 视图可以有主键和外键吗?

    是否可以在 Microsoft SQL Server Management Studio 中定义数据库视图的主键和外键 如何 我正在尝试创建一个 ADO NET 实体数据模型来读取四个我无法修改的旧的 格式不正确的数据库表 我只创建了我需要
  • ASP.NET 4.0环境下使用C#实现多文件上传

    我正在寻找上传多个文件的解决方案 单击浏览按钮 然后使用 Shift 键选择多个文件 我看到几个解决方案需要通过点击浏览按钮一一上传 然后点击提交按钮 但我需要允许用户同时选择多个文件 设置属性 AllowMultiple true 如下所
  • numpy.fft.fft 和 numpy.fft.fftfreq 有什么区别

    我正在分析时间序列数据 希望提取 5 个主要频率分量并用作训练机器学习模型的特征 我的数据集是921 x 10080 每行是一个时间序列 总共有 921 个 在探索可能的方法时 我遇到了各种功能 包括numpy fft fft numpy
  • 删除 CSS 文件

    我使用 spring MVC 和 jsp 页面进行演示 假设我有三个选项卡A B and C在一个jsp页面中 单击 A 选项卡时 会显示 css 文件 例如 aa css 并在带有相应 div 的 head 标签中加载 单击 B 和 C
  • 如何访问jasperreports中数据源的根元素

    我有一份由 MyJavaBean 集合支持的报告 在此报告中 我 当然 可以获得 MyJavaBean 的属性 在字段中声明它们并在详细信息带上使用它 到目前为止一切顺利 现在我希望能够将此 MyJavaBean 作为子报表的参数传递 看
  • FFMPEG“字体配置错误:无法加载默认配置文件”错误 Windows

    我正在尝试用 FFMPEG 制作一个短视频 其中一个单词在视频持续时间 0 5 秒 内停留在屏幕上 我的 FFMPEG 代码如下所示 ffmpeg f lavfi i color c white s 320x240 d 0 5 vf dra
  • Visual Studio 中的“范围突出显示”功能? (与 BlueJ for java 中看到的相同)

    我想知道 因为到目前为止我未能在 VS 的选项中找到这样的功能 如果有一个功能允许范围突出显示 与 BlueJ IDE for java 中看到的相同 这是一个例子 请注意代码块是如何用颜色突出显示的 当使用 blueJ 学习 java 时
  • Firefox 和 IE 使用 utf 8 网络字体时出现特殊字符问题

    我的字符有问题 使用 UTF 8 编码和字体 Lato 和 Open Sans 使用 safari 和 chrome 没有问题 但是当我在 Windows 或 Mac 或 IE 上使用 Firefox 时 问题可以在这里看到 Lato 和
  • 设计一个支持海量数据存储和查询的系统

    面试官要求我设计一个系统来存储千兆字节的数据 并且该系统还必须支持某种查询 描述 IDC中会产生海量的记录 每条记录由一个url 访问该url的IP以及访问发生的时间组成 该记录可能可以表述为这样的结构 但我不确定应该选择哪种数据类型来表示
  • axios从URL获取文件并上传到s3

    我正在尝试使用 axios get 从网站获取文件 然后将其直接上传到 S3 但是 文件已损坏或编码不正确 上传后无法打开 文件类型范围从 jpg png 到 pdf 这是我的代码 axios get URL responseEncodin