NodeJS: envoi / téléchargement d'un fichier local sur un serveur distant

J'ai utilisé le Winston module pour créer un journal quotidien de fichier pour mon application hors ligne. J'ai maintenant besoin d'être en mesure d'envoyer ou de télécharger un fichier sur un serveur distant via la POSTE (cette partie existe déjà)

Je sais que j'ai besoin pour écrire le fichier en morceaux afin de ne pas monopoliser la mémoire, donc je suis en utilisant fs.createReadStream cependant me semble seulement obtenir une réponse 503, même si l'envoi juste un exemple de texte.

MODIFIER

J'ai travaillé que le récepteur m'attendais à des données d'être nommé "data". J'ai supprimé les createReadSteam que je ne pouvais l'obtenir pour fonctionner avec "application/x-www-form-urlencoded' et synchrone fs.readFileSync. Si je change ce à "multipart/form-data' sur le serveur php serais-je capable d'utiliser createReadStream de nouveau, ou est-ce que si je change physiquement le téléchargement du fichier json.

J'ai seulement de l'apprentissage nœud au cours des deux dernières semaines, donc tous les pointeurs seront reçues avec reconnaissance.

var http = require('http'),
    fs = require('fs');

var post_options = {
    host: 'logger.mysite.co.uk',
    path: '/',
    port: 80,
    timeout: 120000,
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
    }
}

var sender = http.request(post_options, function(res) {
    if (res.statusCode < 399) {
        var text = ""
        res.on('data', function(chunk) {
            text += chunk
        })
        res.on('end', function(data) {
            console.log(text)
        })
    } else {
        console.log("ERROR", res.statusCode)
    }
})

var POST_DATA = 'data={['
POST_DATA += fs.readFileSync('./path/file.log').toString().replace(/\,+$/,'')
POST_DATA += ']}'
console.log(POST_DATA)
sender.write(POST_DATA)
sender.end()

source d'informationauteur sidonaldson