gpt4 book ai didi

node.js - 下载解压上传cloudinary

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:25 25 4
gpt4 key购买 nike

我正在尝试下载一个 ZIP 文件,并将其请求通过管道传输到 node-unzip然后通过管道将其传输到 cloudinary。

var stream = cloudinary.uploader.upload_stream(function(result) {
console.log(result)
});

request(file_url).pipe(unzip.Parse()).pipe(stream); //<-- This do not work!
ERROR: { error: { message: 'Empty file', http_code: 400 } }

fs.createReadStream('my_picture.jpg').pipe(stream); //<-- This works!

最佳答案

(您没有提及,但我假设您的 request var 是 request 的实例)

首先检查您的 zip 是否有效并包含您期望的内容:

(代码取自 node-unzip's readme )

var unzip = require('unzip');
var request = require('request');
var fstream = require('fstream');
var writeStream = fstream.Writer('output/path');

request(file_url)
.pipe(unzip.Parse())
.pipe(writeStream);

然后,从 zip 发送单个条目(即使只有一个):

var cloudinary = require('cloudinary');
var unzip = require('unzip');
var request = require('request');
var stream = cloudinary.uploader.upload_stream(function(result) {
console.log(result)
});
request(file_url)
.pipe(unzip.Parse())
.on('entry', function (entry) {
var fileName = entry.path;
var type = entry.type; // 'Directory' or 'File'
var size = entry.size;
if (fileName === "your_image.png") {
entry.pipe(stream);
} else {
entry.autodrain();
}
});

关于node.js - 下载解压上传cloudinary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35384597/

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