好的,这是这段代码的总体目标。我正在使用 TinyPNG 的 API 来压缩 png 文件的文件夹。我有一个输入文件夹,其中包含许多名为 filename.png 的文件。此代码将文件名目录读取到数组文件中,然后为这些文件创建读写流,将其发送到 API,进行处理,然后返回,以便将其写入输出文件夹中的文件。我知道代码适用于一个文件,但除此之外的任何文件都会引发 write after end 异常,因为管道在第一个文件之后会自动关闭。我尝试将输入和输出设置为数组,但这只会引发另一个异常。
关于如何设置多个读写流的任何提示都会很棒,并且对每个人都非常有用:)。
当前代码:
var fs = require('fs');
var inputFolder = "input/";
var outputFolder = "output/";
var https = require("https");
var key = "GETYOUROWNFREEONEFROMTINYPNG.ORG";
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
var options = require("url").parse("https://api.tinypng.com/shrink");
options.auth = "api:" + key;
options.method = "POST";
console.log("Reading files...");
fs.readdir("./input", function (err, files) {
if (err) throw err;
console.log(files.length + " files read...");
var input;
var output;
var request;
for(var i = 0; i < files.length; …Run Code Online (Sandbox Code Playgroud)