gpt4 book ai didi

javascript - 在没有文件的情况下从内存中将文件流上传到 S3

转载 作者:搜寻专家 更新时间:2023-10-31 23:45:43 24 4
gpt4 key购买 nike

我正在尝试从字符串创建一个 csv 并将其上传到我的 S3 存储桶。我不想写文件。我希望这一切都在内存中。

我不想通过读取文件来获取流。我想制作一个没有文件的流。我想要这种方法 createReadStream,但我想传递一个包含流内容的字符串,而不是文件。

var AWS      = require('aws-sdk'),
zlib = require('zlib'),
fs = require('fs');
s3Stream = require('s3-upload-stream')(new AWS.S3()),

// Set the client to be used for the upload.
AWS.config.loadFromPath('./config.json');

// Create the streams
var read = fs.createReadStream('/path/to/a/file');
var upload = s3Stream.upload({
"Bucket": "bucket-name",
"Key": "key-name"
});

// Handle errors.
upload.on('error', function (error) {
console.log(error);
});

upload.on('part', function (details) {
console.log(details);
});

upload.on('uploaded', function (details) {
console.log(details);
});

read.pipe(upload);

最佳答案

您可以创建一个 ReadableStream 并将您的字符串直接推送到它,然后您的 s3Stream 实例可以使用它。

const Readable = require('stream').Readable

let data = 'this is your data'
let read = new Readable()
read.push(data) // Push your data string
read.push(null) // Signal that you're done writing

// Create upload s3Stream instance and attach listeners go here

read.pipe(upload)

关于javascript - 在没有文件的情况下从内存中将文件流上传到 S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44335139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com