使用 NodeJS+Express、aws-sdk 将文件直接流式传输到 s3

2024-02-13

我想使用 NodeJS 通过浏览器直接上传一些大文件到 s3,目前还不清楚如何准备该文件上传到 s3。可能有更好的模块(如 Knox)来处理这种情况,但我不确定。有什么想法吗?

文件对象

  file: { 
     webkitRelativePath: '',
     lastModifiedDate: '2013-06-22T02:43:54.000Z',
     name: '04-Bro Safari & UFO! - Animal.mp3',
     type: 'audio/mp3',
     size: 11082039 
  }

S3放置对象

var params = {Bucket: 'bucket_name/'+req.user._id+'/folder', Key: req.body['file']['name'], Body: ???};
s3.putObject(params, function(err, data) {
    if (err)
      console.log(err);
    else
      console.log("Successfully uploaded data to myBucket/myKey");
});    

现在支持流媒体(see docs http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putObject-property),只需将流作为Body:

var fs = require('fs');
var someDataStream = fs.createReadStream('bigfile');
var s3 = new AWS.S3({ params: { Bucket: 'myBucket', Key: 'myKey' } });
s3.putObject({ Body: someDataStream, ... }, function(err, data) {
  // handle response
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 NodeJS+Express、aws-sdk 将文件直接流式传输到 s3 的相关文章

随机推荐

  • 是否可以将参数传递到通过选项卡访问的 FB 应用程序的回调 URL?

    我有这个 Facebook 应用程序 它向粉丝页面添加自定义选项卡 您可以通过以下 URL 访问该选项卡 http www facebook com pages PAGE NAME HERE PAGE ID v APP ID http ww
  • 如何在Python中模拟CPU和内存压力

    我想知道是否有人用 python 编写了模拟 cpu 和内存压力的代码 我看到一段加载 cpu 的代码 但如何强制它们在 90 的使用率下工作 一个节点主要有 4 种经常使用的资源 有效内存 中央处理器周期 储存空间 网络负载 上传和下载
  • 更改 DataMember 的 XML 命名空间

    我有两个DataContract我正在使用 a 序列化为 XMLDataContractSerializer 我为两个不同的指定了不同的命名空间DataContract然而 有一个DataMember每一个DataContract属于相同的
  • HTMLCollection、NodeList 和对象数组之间的区别

    当谈到 DOM 时 我总是对 HTMLCollections 对象和数组感到困惑 例如 有什么区别document getElementsByTagName td and td myTable and td 是对象 jQuery 对象 为什
  • 如何生成一个不以 0 开头且具有唯一数字的随机 4 位数字?

    这几乎可以正常工作 但数字有时以 0 开头 import random numbers random sample range 10 4 print join map str numbers 我找到了很多例子 但没有一个能保证序列不会以0
  • 解析 HTML:成人分类系统

    我正在研究网络上使用的不同且 有时已过时 的评级 分类标准 IE PICS http www w3 org PICS POWDER http www w3 org 2007 powder ICRA http www fosi org icr
  • 为什么 JSON.Parse 说“无效字符”?

    我在 IE 中运行了一段 JS 其中包含以下行 var data JSON parse skill SK AUTO DEV TEST kind IS REQUIRED 谁能告诉我这有什么问题吗 因为这不是有效的 JSON 您需要在属性名称周
  • 两列,100%高度固定流体

    不使用表格如何实现下面的效果呢 例子 http enstar nl example php http enstar nl example php 该示例目前可能不可见 名称服务器应该已更改 但我的主机更新它们的速度不是那么快 今天晚些时候应
  • AJAX (XMLHttpRequest) 进度监控不适用于 Service Workers

    我想将网络表单转换为离线工作 最初 我会在用户完成每个步骤后将表单信息存储在 Web 服务器上的 SQL 数据库中 其中一个步骤包括上传图像 为此我实现了一个进度条 添加服务工作者后 我注意到进度条不再起作用 进度条会显示 但永远不会更新以
  • 如何通过代码向 yaml 文件添加新条目

    我有 yaml 文件 我需要使用 go 代码在运行时向其中添加数据 路径就像下面这样 我的意思是 这是 yaml 文件 其下有一个条目sif of snk dev spec mec tolerations effect NoSchedule
  • 将 url 表放入 `data.frame` R-XML-RCurl

    我正在尝试将网址表放入data frame 在其他示例中 我发现以下代码有效 library XML library RCurl theurl lt https es finance yahoo com q cp s BEL20 BR ta
  • 无法在vb.net中将文件写入硬盘

    您好 我检查了此处存在的所有问题对我没有帮助 所以我问 好的 我们开始吧 我尝试将文件从 资源 复制到 C Test 文件夹对我不起作用 这是我尝试过的 首先 我将 test txt 文件放在资源中复制到 C Test 文件夹 但出现错误
  • WebBrowser 控件和 cookie

    我对 WebBrowser 控件和 cookie 有疑问 首先 当人们在普通的 Web 浏览器 在我的例子中是 IE9 中导航时会发生什么 1 1 我打开网页http www gmail com http www gmail com 我输入
  • 如何以编程方式获取计算机的本地网络 IP 地址?

    我需要使用 C 和 NET 3 5 从我的程序中获取计算机的实际本地网络 IP 地址 例如 192 168 0 220 在这种情况下我不能只使用 127 0 0 1 我怎样才能做到这一点 如果您正在寻找命令行实用程序 ipconfig 可以
  • Python 在屏幕上绘图

    我正在编写一个需要选择屏幕区域的应用程序 我需要将光标更改为十字形 然后在用户选择上绘制一个矩形 我搜索的第一件事是如何操作光标 然后我遇到了 wxPython 使用wxPython 我可以轻松地在带有面板的框架上执行此操作 问题是我需要窗
  • 如何在 Python 日志消息中将“levelname”重命名为“level”?

    我有一个 Python 日志记录配置 如下所示 LOGGING CONFIG version 1 formatters human class logging Formatter format asctime s levelname s m
  • 我应该阻止密码自动完成吗?

    有很多在这里回复 https stackoverflow com questions 2530 how do you disable browser autocomplete on web form field input tag on h
  • 更新应用程序而不安装新的APK

    我正在尝试查看是否可以远程更新用户手机上的应用程序无需下载 apk文件 这是我的 老板 的信息收集请求 他认为这在 iOS 上是可能的 所以他希望我在 Android 上检查一下 本质上 我试图让我的应用程序偶尔从我们的网络服务器中提取版本
  • BigQuery 可以用作主要查询引擎吗?

    我想知道是否可以深入了解使用 BigQuery 作为我们正在开发的分析工具的主要查询引擎的可行性 我们的公共 API 实际上需要使用 PHP SDK 可能超过 1 亿行 执行至少数百个并发 SELECT 查询 但从当前文档来看 BigQue
  • 使用 NodeJS+Express、aws-sdk 将文件直接流式传输到 s3

    我想使用 NodeJS 通过浏览器直接上传一些大文件到 s3 目前还不清楚如何准备该文件上传到 s3 可能有更好的模块 如 Knox 来处理这种情况 但我不确定 有什么想法吗 文件对象 file webkitRelativePath las