#c# #api #blazor #blazor-server-side #asp.net-blazor
#c# #API #блейзор #blazor-серверная часть #asp.net-блейзор
Вопрос:
public class FilesController : ControllerBase { [HttpGet] [Route("api/Files/DownloadFile/{ProductID}/{FileName}/{UserID}")] public FileResult DownloadFile(int ProductID, string FileName, int UserID) { return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet); } }
Всем привет, я использую API для загрузки файлов.В моем приложении сервера blazor (клиент) , когда пользователь пытается загрузить любой файл , такой как файлы .xlsx или .ppt , он работает в Chrome и Firefox, но в случае Microsoft Edge он выдает мне «файл pptx не может быть безопасно загружен».
Мой вопрос , есть ли какие-либо конфигурации, которые я могу добавить в app.settings или web.config, чтобы обойти проблему SSL/TLS?
Откройте, чтобы проверить сообщение об ошибке:
Комментарии:
1. «API использует Http вместо HTTPS» — почему?
2. Тогда используйте HTTPS. В противном случае все, что вы делаете, небезопасно. Ошибка довольно точная. Я почти уверен, что Chrome и Firefox тоже недовольны, и либо вы не заметили предупреждений, либо используете такие устаревшие версии, отключенные от Интернета, что они не жалуются. Или кто-то отключил предупреждения. Не делай этого
3. На самом деле Chrome и Firefox начали выдавать большие красные предупреждения, скрывающие содержимое, о сайтах HTTP несколько лет назад. Веб — администраторы и владельцы, которые утверждали, что им не нужен HTTPS, некоторое время жаловались, но вскоре поняли, что у них есть два варианта-исправить свои небезопасные сайты или потерять весь трафик.
4. Предположим, что они уже одобрили его и используют HTTPS. Если вы получите предупреждение о самозаверяющем сертификате разработки, доверьте его тестовой машине и клиенту. Вот для чего это нужно. На самом деле существует множество фактических дубликатов, которые спрашивают, как доверять сертификату разработки, а не отключать его. В конце концов, вам пришлось проделать дополнительную работу, чтобы использовать HTTP вместо HTTPS.
5. Еще одна причина использования HTTPS заключается в том, что таким образом вы получаете HTTP/2 и гораздо более высокую производительность, поскольку браузер может параллельно загружать множество изображений, таблиц стилей и сценариев, которые использует Blazor
Ответ №1:
Ответ заключается в использовании SSL/TLS для защиты связи между API и серверным приложением blazor (на стороне клиента). Другими словами,преобразуйте HTTP (порт 80) в HTTPS (порт 443).