У меня возникли проблемы с потоковой передачей файлов с amazon s3. В принципе, у меня есть файлы, хранящиеся на amazom s3, я не могу предоставить прямой доступ к этим файлам, поскольку пользователям необходимо пройти аутентификацию. Я пытаюсь найти способ передавать файлы без загрузки каждого файла с amazon на мой сервер, а затем с моего сервера на конечный клиент. Я просто хочу, чтобы иметь возможность передавать файл напрямую, но, похоже, большинство классов чтения потоков в .NET не являются кабелем для этого. Пожалуйста, поправьте меня, если я ошибаюсь.Потоковые файлы с amazon s3
ответ
Вы можете передать файл с Amazon S3 клиенту через ваш сервер, не загружая файл на свой сервер, открыв поток в файл Amazon S3, затем прочитайте его и напишите в потоке клиента (буфер по буфере) ,
Пример кода:
byte[] buffer = new byte[BUFFER_SIZE];
GetObjectRequest getObjRequest = new GetObjectRequest().WithBucketName(Bucket_Name).WithKey(Object_Key);
using (GetObjectResponse getObjRespone = amazonS3Client.GetObject(getObjRequest))
using (Stream amazonStream = getObjRespone.ResponseStream)
{
int bytesReaded = 0;
Response.AddHeader("Content-Length", getObjRespone.ContentLength.ToString());
while ((bytesReaded = amazonStream.Read(buffer, 0, buffer.Length)) > 0 && Response.IsClientConnected)
{
Response.OutputStream.Write(buffer, 0, bytesReaded);
Response.OutputStream.Flush();
buffer = new byte[BUFFER_SIZE];
}
}
Что не так с 'Stream.CopyTo'? – Gusdor
Вы можете использовать Stream.CopyTo, только если вы используете .Net framework 4.0 или новее, я использовал его раньше, и у меня была проблема (повреждение файла), но я не уверен, в чем именно была проблема, но я думаю, что это было в потокового кодирования. –
- 1. Потоковые MP3-файлы от Amazon S3
- 2. Потоковые файлы с amazon s3 с возможностью поиска в C#
- 3. Потоковые объекты Amazon S3 с веб-сервера с использованием Laravel
- 4. Файлы исчезают с Amazon S3
- 5. Amazon S3 Отсутствующие файлы
- 6. Amazon S3 - Хранить временные файлы
- 7. Растущие файлы на Amazon S3
- 8. Amazon S3 просмотреть приватные файлы
- 9. Файлы Amazon S3 и mp4
- 10. amazon s3 файлы попыток .html
- 11. распаковать файлы в Amazon s3
- 12. Как скачать файлы с Amazon S3?
- 13. Не удается загрузить файлы с amazon s3
- 14. Скопировать файлы с Amazon s3 в hadoop
- 15. Потоковые файлы с cherrypy
- 16. Шифрование Amazon с S3
- 17. Как записать потоковые данные на S3?
- 18. Amazon Athena и сжатые файлы S3
- 19. iOS Amazon S3 скачать большие файлы
- 20. Как перечислить загруженные файлы на amazon s3
- 21. Хранить файлы PHPExcel в Amazon S3
- 22. Amazon S3 Bucket Загрузить все файлы пустые
- 23. Angular.js и Amazon S3 - Как загрузить файлы?
- 24. Amazon S3 и CloudFront - сжатые файлы
- 25. Насколько надежны файлы журнала доступа amazon s3?
- 26. amazon beanstalk, s3 и локальные файлы
- 27. Резервное копирование с Amazon S3
- 28. Amazon S3 правильно не подает файлы
- 29. Загрузить статические файлы Django в Amazon S3
- 30. Установить личные файлы в Public Amazon S3
Вы можете уточнить, требуют ли файлы хранятся элемент безопасности в вашем приложении. Я понимаю, что вы можете создавать общедоступные (разделяемые) URL-адреса, используя Amazon S3 SDK в .net ... если вы хотите сгенерировать их и установить большое время истечения срока, вы можете перенаправить пользователя на создаваемую вами ссылку: http: // docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURLDotNetSDK.html – JLo