私は、アップロード、私は取得していますエラーbinary.js BinaryStream.writeストリームは、ノードサーバー上の書き込み可能ではありません
I am using node
version v0.10.48
Reference code picked from https://github.com/rajkissu/binaryjs-upload-stream
Error: Stream is not writable
at BinaryStream.write (/node_modules/binaryjs/lib/stream.js:84:11)
at /src/K/Cli/upload/lib/media.js:120:36
at ChildProcess.exithandler (child_process.js:742:7)
at ChildProcess.emit (events.js:110:17)
at maybeClose (child_process.js:1015:16)
at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
私はどのように解決する方法を見つけることができませんした後、一つのファイルのため、アップロード・ノード・サーバーに取り組んでいますこの。
問題が1%の場合コードはconsole.log('Debug 4)
になり、stream.write({end: true});
を実行するとノードサーバーが停止します。つまり、スローされたエラーが処理されないため、ゲートウェイが不正です。
フロントエンドでノードサーバーからのデータを使用してコンテンツIDを読み取り、設定を完了しましたが、ノードサーバーが停止してノードサーバーからコンテンツIDを取得できません。
bs = new BinaryServer({ port: 9004 });
bs.on('connection', function (client) {
client.on('stream', function (stream, meta) {
upload(stream, meta);
});
});
function upload(stream, meta) {
var file = fs.createWriteStream(uploadPath + '/' + meta.name);
stream.pipe(file);
stream.on('end', function() {
// console.log(__dirname);
var cli_base=__dirname+'/../../';
var cmd = '<upload systme cmd>';
console.log('Uploading End and running command ' + cmd);
try {
stream.write({uploaded: true});
}catch (e) {
console.log('Debug 3, Streem On End Event : '+e.message,meta);
// stream.write({end: true});
}
if(!meta.hasOwnProperty('executed')){
meta.executed=true;
child = exec(cmd, function (error, stdout, stderr) {
try{
console.log(error, JSON.parse(stdout), stderr);
var command_output = JSON.parse(stdout);
if(command_output.hasOwnProperty('content_id')){
stream.write({end: true, content_id: command_output.content_id,files:command_output.file});
console.log(command_output.content_id);
}
}catch (e) {
console.log('Debug 4, Streem On End Event : '+e.message,meta,child);
stream.write({end: true});
}
});
}
});
}
の下にファイルオブジェクトを作成しながら、この問題は、ノードのバージョンを使用することに起因する可能性が!ノードのバージョンを確認し、質問を追加してください。 –
@MuneerAlam私はこのためにノードバージョン 'v0.10.48'を使用しています。 –
@Ramrantan Guptaの問題は、ノードのバージョン(> 0.12.X)または一部のLTSバージョンを更新できる場合に解決できます。 –