0
私はファイルのアップロードを行っているノードのバックエンドを持っています。私にとっては以下のように動作します:ノードの要求ファイルのアップロードで受け入れられる形式にCSS文字列を変換する
var options = {
method: 'POST',
uri: 'xxx',
formData: {
file: {
value: fs.createReadStream('new1.css'),
options: {
contentType: 'text/css'
}
}
}
};
let resp: any = await request(options);
しかし、私の場合、上記のように私が読むことができるファイルはありません。私はちょうどCSS文字列を持つことになります。私のCSS文字列をfs.createReadStream( 'new1.css')に似た形式に変換するにはどうすればいいですか?
私は以下の回答からアプローチを試みましたが、私にとってはうまくいきませんでした。 IはJSON.stringify(fs.createReadStream( 'new1.css'))が印刷しようとした出力である:
{"_readableState":{"objectMode":false,"highWaterMark":65536,
"buffer":{"head":null,"tail":null,"length":0},
"length":0,
"pipes":null,
"pipesCount":0,
"flowing":null,
"ended":false,
"endEmitted":false,
"reading":false,
"sync":true,
"needReadable":false,
"emittedReadable":false,
"readableListening":false,
"resumeScheduled":false,
"defaultEncoding":"utf8",
"ranOut":false,
"awaitDrain":0,
"readingMore":false,
"decoder":null,
"encoding":null},
"readable":true,
"domain":null,
"_events":{},
"_eventsCount":1,
"path":"new2.css",
"fd":null,
"flags":"r",
"mode":438,
"autoClose":true,
"bytesRead":0}
Iはまた、JSON.stringify(CSS)を印刷して出力する。
{"_readableState":{"objectMode":false,"highWaterMark":16384,
"buffer":{"head":{"data":{"type":"Buffer","data":[98,111,100,121,32,123,125]},"next":null},
"tail":{"data":{"type":"Buffer","data":[98,111,100,121,32,123,125]},"next":null},"length":1},
"length":7,
"pipes":null,
"pipesCount":0,
"flowing":null,
"ended":true,
"endEmitted":false,
"reading":false,
"sync":true,
"needReadable":false,
"emittedReadable":true,
"readableListening":false,
"resumeScheduled":false,
"defaultEncoding":"utf8",
"ranOut":false,
"awaitDrain":0,
"readingMore":true,
"decoder":null,
"encoding":null},
"readable":true,
"domain":null,
"_events":{},
"_eventsCount":0}
問題の原因となっている違いがわかりません。そして、それは利用のNode.js Stream API
Farnabazを
Readable
ストリームを作成し、プッシュする修正する方法を、私はこのアプローチを試みたが、私は、サーバーから500エラーを取得します。しかし、fs.createReadStream( 'new1.css')を使ってすべてうまく動作します。 – user1892775@ user1892775ここにサーバーログを貼り付けることはできますか? – Farnabaz
ファルナバス、私はそのサーバーにアクセスしていない、少なくとも今はない。私が見ることができるのは、私が受け取る500のエラーです。その間にこれをデバッグする他の方法はありますか? – user1892775