Как ответить на файл (из AWS) в ответ от Node.js

Здесь есть два правила:

  • Между T* и U* нет неявных отбрасываний, если T и U - разные типы.
  • Вы может лишить T* до T const * неявно. («указатель на T» можно отнести к «указателю на const T»). В C ++, если T также является указателем, это правило также может быть применено к нему (цепочка).

Итак, например:

char** означает: указатель на указатель на char.

И const char** означает: указатель на указатель на const char.

Поскольку указатель на char и указатель на const char имеют разные типы, которые не различаются только в const-ness, поэтому актерский состав не допускается. Правильный тип cast to должен быть const указателем на char.

Таким образом, чтобы оставаться const корректным, вы должны добавить ключевое слово const, начиная с самой правой звездочки.

Таким образом, char** может быть отличным до char * const * и также может быть добавлено к const char * const *.

Это цепочка только C ++. В C это цепочка не работает, поэтому на этом языке вы не можете корректно наложить более одного уровня указателей const.

0
задан Shubham1164 5 March 2019 в 18:51
поделиться

2 ответа

Хотя s3 SDK прекрасно работает, но я использовал простой поток из AWS для чтения и отправки фрагментов данных в ответ.

0
ответ дан Shubham1164 5 March 2019 в 18:51
поделиться

Используйте getObject () для загрузки файлов из корзины s3. Смотрите следующий пример: -

var stream = require('stream');

const s3 = require('../config/s3.config.js');

exports.doDownload = (req, res) => {
 const s3Client = s3.s3Client;
 const params = s3.downloadParams;

 params.Key = req.params.filename;

 s3Client.getObject(params)
 .createReadStream()
 .on('error', function(err){
 res.status(500).json({error:"Error -> " + err});
 }).pipe(res);
}
0
ответ дан Jaspreet kaur 5 March 2019 в 18:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: