javascript - ejemplos - Cómo cargar un archivo usando un cliente de resto para el nodo
outerhtml (2)
Tengo un cliente REST en el nodo, y estoy tratando de cargar un archivo pdf a otro servidor web REST que ofrezca la capacidad de analizar mi pdf y extraer algunos datos. Básicamente es un servicio. El paquete npm que utilizo es: https://www.npmjs.com/package/node-rest-client . Si hay otros clientes de descanso, puedo usar esos también. El resto de API que necesito usar se describe a continuación:
POST / ; Uploads a new PDF document via a form <br>
POST /file ; Uploads a new PDF document via bytestream
La pregunta es cómo subir el archivo. Además, me gustaría ver cómo almacenar el archivo en el otro extremo.
Puede utilizar la request .
Hay un ejemplo para eso.
fs.createReadStream(''file.pdf'').pipe(request.post(''http://example.com/file''))
Puede utilizar la solicitud del módulo npm para cargar el archivo. Aquí hay un ejemplo de trabajo.
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);
});
Para recibir en el lado del servidor con nodo puede usar módulos como busboy . Aquí hay una demostración de esto.
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);
}
});