私は現在Node.jsミドルウェアで作業しており、フォームデータを使用してAPIにファイルを送信する必要があります。Node.jsのbase64文字列からformdataでファイルを送信するにはどうすればよいですか?
fsを使用してローカルストレージ上のファイルを使用してReadStreamを作成し、それをフォームデータに格納すると、これを実行できました。
私は自分のデータを送信するための要求の約束を使用します。
var formData = {
'file': fs.createReadStream('myfile.jpg')
}
var options = {
method: method,
uri: url,
formData: formData
}
return rp(options).then(response => response)
は今、私は完全にはフードの下で何が起こっているのか理解していません。
"myfile.jpg"を送信したのと同じように、私はbase64文字列内にあるファイルのみを送信する必要があり、APIはファイルを待っています。
私は、base64文字列から構築されたバッファに送信しようとしました:
var buffer = Buffer.from(base64string, 'base64')
var formData = {
'file': buffer
}
をしかし、それは動作しませんでした。 私は最終的に私のバッファからバイナリファイルを作成し、そこからストリームを作成するためにfsを使うことができましたが、これを実現するより良い方法があるといいですね。
また、わかりませんが、私が理解できないことに取り組んでいるわけではありません。ファイルストリームがどのようにformdatasと連携するかについての情報があれば、取りに行きます!