Fix client-to-server transfer by base64 encoding binary buffer
This commit is contained in:
@@ -9,6 +9,7 @@ const StreamTake = require('./ws/StreamTake')
|
||||
const Socket = require('./ws/Socket')
|
||||
const { Unit } = require('libflitter')
|
||||
const { NodeDescriptorType } = require('./enum')
|
||||
const CombinedStream = require('combined-stream')
|
||||
|
||||
const { Buffer } = require('buffer')
|
||||
const { Readable } = require('stream')
|
||||
@@ -86,10 +87,12 @@ class ServerUnit extends Unit {
|
||||
}
|
||||
}
|
||||
|
||||
console.log('write stream', stream)
|
||||
console.log('write data', { placeholder, position, length })
|
||||
const encoded_buffer = await this._bufferStream(stream)
|
||||
const decoded_buffer = new Buffer(encoded_buffer.toString(), 'base64')
|
||||
|
||||
stream.pipe(fs.createWriteStream(placeholder.path, { flags: 'r+', start: position }))
|
||||
const combined_stream = CombinedStream.create()
|
||||
combined_stream.append(decoded_buffer)
|
||||
combined_stream.pipe(fs.createWriteStream(placeholder.path, { flags: 'r+', start: position }))
|
||||
}
|
||||
|
||||
_bufferStream(stream) {
|
||||
|
||||
Reference in New Issue
Block a user