Chrome не может загрузить ссылку из файла на AWS S3

#c# #.net #amazon-s3

#c# #.net #amazon-s3

Вопрос:

В настоящее время я использую .NET для создания предварительно подписанного URL-адреса для файла, который я загружаю на S3, после получения URL-адреса я отправляю и отправляю по электронной почте клиенту с тегом привязки, указывающим на сгенерированный URL-адрес и сообщающим им, что файл готов к загрузке. Проблема в том, что всякий раз, когда я нажимаю на ссылку, Chrome пытается открыть новую вкладку в течение нескольких секунд, а затем закрывает эту новую вкладку, не вызывая загрузку. Он работает с другими браузерами или даже если я скопирую ссылку, сам открою новую вкладку и вставлю ее туда, тогда начнется загрузка…

Есть идеи относительно того, что здесь может происходить?

Комментарии:

1. На том же компьютере он работает с одним браузером, но не с другим? Нам нужно определить, является ли это машиной или типом браузера.

2. протестировано на нескольких машинах, все они имеют такое поведение при загрузке из Chrome … поэтому я считаю, что это может зависеть от браузера

3. Что отображает ссылку? Gmail выполняет скрытое перенаправление с использованием javascript для ссылок электронной почты (это для сбора данных по щелчку мыши … это не сразу видно при наведении курсора на ссылку) через google.com/url . Может ли это быть проблемой? Возможно, блокировщик рекламы?

4. Прокси-сервер отладки, такой как Fiddler или Charles, может помочь вам собрать больше информации о том, что делает Chrome.

5. Я думаю, что это связано не только с .net и c #. У меня также есть эта проблема с использованием ruby on rails. Проблема специфична для Chrome gmail перенаправление на загрузку s3. (возможно, любая загрузка)

Ответ №1:

В качестве обходного пути мы создали в нашем приложении маршрут, по которому вы можете загрузить файл s3 через наше приложение, а не напрямую из браузера.

Я считаю, что причина, по которой Chrome не позволяет этому произойти, заключается в безопасности, поэтому, если вы переместите часть загрузки на свой сервер, проблема будет решена.