ノードにRESTクライアントがあり、PDFファイルを別のREST Webサーバーにアップロードしようとしています。これはPDFを解析して抽出する機能を提供しますいくつかのデータ。基本的にはサービスです。私が使用するnpmパッケージは次のとおりです。 https://www.npmjs.com/package/node-rest-client 。他にRESTクライアントがある場合は、それらも使用できます。使用する必要のある残りのAPIについては、以下で説明します。
POST / ; Uploads a new PDF document via a form <br>
POST /file ; Uploads a new PDF document via bytestream
問題は、ファイルをアップロードする方法です。また、もう一方の端にファイルを保存する方法を確認したいと思います。
Npm module request を使用してファイルをアップロードできます。これが実際の例です
var request = require('request');
var fs = require('fs');
request({
method: 'PUT',
preambleCRLF: true,
postambleCRLF: true,
uri: 'http://yourdomain/file',
multipart: [
{
'content-type': 'application/pdf',
body: fs.createReadStream('image.png')
}
]
},
function (error, response, body) {
if (error) {
return console.error('upload failed:', error);
}
console.log('Upload successful! Server responded with:', body);
});
ノードを使用してサーバー側で受信するには、 busboy のようなモジュールを使用できます。これがこのデモです
var busboy = require('connect-busboy');
app.use(busboy());
app.use(function(req, res) {
if (req.busboy) {
req.busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
// move your file etc
});
req.pipe(req.busboy);
}
});
request を使用できます。
その例があります
fs.createReadStream('file.pdf').pipe(request.post('http://example.com/file'))