gpt4 book ai didi

javascript - 读取流不执行触发/捕获错误

转载 作者:行者123 更新时间:2023-12-02 21:36:40 24 4
gpt4 key购买 nike

我正在尝试创建一个读取流来使用 Cloudinary 的上传流功能,我还使用 resumable.js 来对初始文件进行分块,而创建读取流工作得很好(因为整个文件写入得很好。 )读取流/cloudinary上传功能似乎甚至没有被触发并且默默地失败。

router.post("/upload", (req, res, next) => {
console.log("the params are.. ", req.body);

resumable.post(req, function(
status,
filename,
original_filename,
identifier
) {
if (status === "done") {
let timestamp = new Date().getTime().toString();
//stich the chunks

var s = fs.createWriteStream(timestamp + filename);
resumable.write(identifier, s);

var upload_stream = cloudinary.uploader.upload_stream(
{ tags: "basic_sample" },
function(err, image) {
console.log();
console.log("** Stream Upload");
if (err) {
console.warn(err);
}
console.log("* Same image, uploaded via stream");
console.log("* " + image.public_id);
console.log("* " + image.url);
waitForAllUploads(timestamp + filename, err, image);
}
);

fs.createReadStream(timestamp + filename)
.pipe(upload_stream)
.on("error", err => {
console.log(err);
});

s.on("finish", function() {
// Stream upload
console.log("ive finished...");
// delete chunks
setTimeout(() => {
resumable.clean(identifier);
}, 1000);
});
}
res.send(status);
});
});

以下是我正在使用的资源:

https://github.com/cloudinary/cloudinary_npm/blob/master/samples/basic/basic.js

https://github.com/mrawdon/resumable-node

最佳答案

fs.createReadStream(timestamp + filename) 接受文件路径,但看起来您也传递了时间戳。此外,waitForAllUploads 未定义。您可以尝试使用 Node 和 Cloudinary 来测试以下代码。

var upload_stream= cloudinary.uploader.upload_stream({tags: 'basic_sample'},function(err,image) {
console.log("** Stream Upload");
if (err){ console.warn(err);}
console.log("* "+image.url)
});
var file_reader = fs.createReadStream('<file path>').pipe(upload_stream);

关于javascript - 读取流不执行触发/捕获错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60474118/

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