Bu size .Bu sizin node.js sunucuya gider budur gereken dosyaları sonrası isteği ayrıştırmak ve almak için express ve body-parser modülü kullanarak böyle yaparız.
İthalat tüm modüller:
var express = require("express");
var bodyParser = require('body-parser')
var app = express(); //init express app()
var util = require('util');
//APP CONFIGURATION >> Skip this if you dont want CORS
app.use(express.static('app')); // use this as resource directory
app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
yapılandır sonrası URL:
//url => url/for/mypostrequest
app.post(url, done, function (req, res) {
//Handle the post request body here...
var filesUploaded = 0;
//check if files present
if (Object.keys(req.files).length === 0) {
console.log('no files uploaded');
} else {
console.log(req.files);
var files = req.files.file1;
//If multiple files store in array..
if (!util.isArray(req.files.file1)) {
files = [req.files.file1];
}
filesUploaded = files.length;
}
res.json({message: 'Finished! Uploaded ' + filesUploaded + ' files. Route is /files1'});
});
tüm modüller yüklü olduğundan emin ve package.json
bağımlılık olarak mevcut olun Düğümden bir api yayın çağrısı yapmak için KOD ..
Önce http modülünü sunucunuza ekleyin.
var http = require('http');
var querystring = require('querystring');
var fs = require('fs');
Theninclude Aşağıdaki kod
var file1, file2;
//Read first File ...
fs.readFileSync('wheatData.csv', function (err, data) {
if (err) {
console.log('Error in file reading...');
}
file1 = data;
//Read second file....
fs.readFileSync('wheatData.csv', function (err, data) {
if (err) {
console.log('Error in file reading...');
}
file2 = data;
//Construct the post request data..
var postData = querystring.stringify({
'msg': 'Hello World!',
'file1': file1,
'file2': file2
});
var options = { //setup option for you request
hostname: 'www.path/to/api/',
port: 80,
path: '/upload',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': postData.length
}
};
var req = http.request(options, function (res) {
console.log('STATUS:' + res.statusCode);
console.log('HEADERS:' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
res.on('end', function() {
console.log('No more data in response.');
});
});
req.on('error', function (e) {
console.log('problem with request: ' + e.message);
});
// write data to request body
req.write(postData);
req.end();
});
});
bu kod canlı sunucuda test edilmemiştir unutmayın düğüm sunucusundan bir post isteği yapmak için, kendi yapılandırma göre değişiklik yapmak gerekebilir.
Ayrıca, this numaralı gönderide önerildiği gibi düğüm sunucusundan sesli arama yapmak için istek veya gereksinimci gibi diğer kitaplıkları kullanabilirsiniz.
Bir hata mesajı aldınız ve eğer öyleyse hata tam olarak nedir? –
Eh, dosya formlarını 'form.append'in başında' file [] 'olarak değiştirdim ve şimdi arka tarafım, doğru sayıda dosyayı yüklemediğimi (iki tane olduğunu) söyledi. – foxes