Загрузить изображение из буфера в запросе

Я пытаюсь обработать запрос загрузки изображения из приложения iOS/Android. В запросе я получаю буфер изображения и хочу загрузить его в файлы Rackspace без необходимости загружать изображение для его повторной загрузки. Я мог бы записать файл в файловую систему и прочитать из него, но я хочу знать, возможно ли создать readableStream с буфером, чтобы передать это в облако.

        var options = {
            container: _this3._container,
            remote: filename,
            contentType: contentType
        }
        var readStream = new Readable(data);
        readStream._read();
        readStream.on('data', function() {
            console.log("Has data!");
        });

    function upload() {
        return new Promise(function (resolve, reject) {
            var writeStream = _this3._RackClient.upload(options);

            writeStream.on('success', function() {
                resolve();
            });
            writeStream.on('error', function(err) {
                if (err !== null) {
                    return reject(err);
                }
            });
            readStream.pipe(writeStream);
        });
    }
    return upload();

Это то, как я сейчас пытаюсь это сделать, но я продолжаю получать not implemented ошибки.

1 ответ

Я действительно смог достичь этого с помощью PassThrough поток.

var options = {
    container: _this3._container,
    remote: filename,
    contentType: contentType
};
function upload() {
    return new Promise(function (resolve, reject) {
        var writeStream = _this3._RackClient.upload(options);
        var bufferStream = new stream.PassThrough();
        bufferStream.end(new Buffer(data));
        writeStream.on('success', function(file) {
            resolve(file);
        });
        writeStream.on('error', function(err) {
            if (err !== null) {
                console.log(err);
                return reject(err);
            }
        });
        bufferStream.pipe(writeStream);
    });
}
return upload();
Другие вопросы по тегам