2012-09-10 14 views
6

Yani bu benim kurulumnode.js - Ben dosyaları node.js sunucusuna (Servera) olarak yüklendiği bir müşterim var geçici

olduğunu kaydetmeden akışı dosyası ve oradan ben dosyaları iletimi istiyor Başka bir sunucu (serverB) olmadan dosyasını geçici olarak kaydetme (serverA'da).

Bunu başarmanın en kolay ve en iyi yolu nedir?

Dosyayı serverA'ya yükleyebildim ancak geçici dosyanın saklanmasını istemiyorum.

Güncelleme: (Severa'ya) için basit bir ajax dosya uplaod ... Fikir bağlantı söner bile, o belirli geri okuyabileceği şekilde bit odaklı aktarmaktır

its bayt.

SunucuA'da express.js kullanıyorum ve backbone.js, ajax yüklemelerini gerçekleştirdiğim istemcidir. Şimdilik A ve B arasında hiçbir bağlantı yok, uç noktalardan iletişim kuruyorlar. serverA, port 4000'de port 5000 ve serverB'de çalışıyor. Bir şekilde serverA'dan serverB'de bir uç noktaya dosya aktarmak istiyorum.

app.post('myroute', function (req, res) { 
    var request = require('request'); 
    req.pipe(request.post('/my/path:5000')).pipe(res); 
}); 

misiniz bu yaklaşım işe: HttpRequest yana

+0

Bu dosyayı nasıl ediniyorsunuz? Dosyayı nasıl zorluyorsun? Bağlantı problemlerinde ne yaparsınız? – Brad

+0

, basit bir ajax dosyası (severA) ile karşı karşıyadır ... Fikir, bağlantı kesilse bile, belirli bir bayttan geri okuyabilmeniz için bayt-transfer etmektir. – Madhusudhan

+0

Daha fazla ayrıntı ekleyebilir misiniz? Yani, Node.js uygulamanız A sunucusunda bu AJAX komut dosyasını barındırmak için ne kullanıyor? Yerleşik http sunucusu? Sunucu B'den ne haber? İkisi arasındaki bağlantı için ne kullanıyorsunuz? – Brad

cevap

2

bir dere, kendi ekspres yolu içindeki diğer bitiş içine boruya akım isteği request modülünü kullanabilirsiniz mı?

+0

Evet aynı yaklaşımı kullandım. Ayrıca, içerik aralığı ve içerik uzunluğunu göndermem gerektiğinden, fs.write öğesini düğümden biçimlendirdim ve B sunucuya res.write ile değiştirdim. – Madhusudhan