Düğüm sunucusuna ses kaydetmek ve yüklemek için Flash kullanıyorum. Flash istemcisi, jrecorder'un bir varyasyondur. Kullanıcı kayıt bittiğinde ses, POST isteğinin verileri olarak ses ByteArray ile bir POST isteği (Flash dosya oluşturamadığı için bir form değil) kullanılarak yüklenir (bkz. Daha fazla here).Node.js'de ikili dosya yükleniyor
Aşağıdaki kodu kullanarak dosyayı Node-land üzerinde doğru şekilde alabiliyorum ancak çıkan ses karıştırılıyor ve hiçbir şey duyamıyorsunuz. Bununla birlikte, dosyanın içeriği VLC ve diğer oyuncular tarafından çalınabilir + Sox bir mp3 olarak kodlayabilir. Aynı Flaş istemcisi kullanıyorsanız ve bir Raylar sunucuya POST isteği yapmak ve aşağıdaki kodu kullanabilirsiniz, dosya mükemmel kaydedilir,
var express = require('express');
var app = express();
app.use (function(req, res, next) {
req.rawBody = '';
req.setEncoding('utf8');
if(req.method.toLowerCase() == "post")
{
req.on('data', function(chunk) { req.rawBody += chunk });
req.on('end', function() { done(req, res); });
}
next();
});
function done(req, res)
{
fs.writeFile('abc.wav', req.rawBody, 'binary', function(err){
if (err) throw err;
// Save file to S3
}
}
Şimdi:
İşte düğüm kullanırken benim kodudur. Sana yerine parçalar kaydetme kullanmalıyım ne herhangi bir öneriniz varsa yüzden kod örnekleri gönderin lütfen bir Düğüm uzman değilim
def record
file = request.raw_post
# Save file to S3
end
Not. Asıl amacım şu anda
Sevgili efendim bir tampon kullanarak daha iyi olurdu! Bu çalıştı, teşekkürler! Bu çizgiyi kaçırdığına inanamıyorum. Bugün denediğim birçok yinelemeden biriydi. Tekrar teşekkürler! –
Harika cevap için teşekkürler! Bununla ilgili çok fazla sorun yaşadım ve bunun nasıl varsayılan olarak ifade edilemediğini anlamıyorum, ancak nvm. Teşekkürler! –
thx adam benim için çalışıyor – cloverink