Как отлаживать при добавлении MIME Type не работает на IIS для проектов .Net Core - PullRequest
1 голос
/ 03 июля 2019

Когда я обращаюсь к файлу ".apk" в браузере, будет ли http или https ответ error 404, и он не начнет загружать этот файл.

Адрес".apk" - это http://example.com/Upload/App/a.apk, и чтобы убедиться, что я указываю на правильный адрес, я поместил файл изображения в это место (http://example.com/Upload/App/a.png) и могу открыть изображение в браузере.

Я провел поиск по stackoverflow и google и перепробовал все на нескольких первых страницах, но все они предоставляют одинаковое содержимое, и хотя предоставленное решение работает для всех, оно не работает для меня.


То, что я пробовал:

Я проделал следующие шаги, как указано во всех статьях, вопросах и документах:

  1. В IIS менеджер I 'Вы выбрали веб-сайт и нажали MIME Types
  2. Я нажал на гиперссылку Add и определил новую MIME Type
  3. Значения ".apk" для расширения и "application/vnd.android.package-archive" дляMIME Type

Я понял, что эти строки были добавлены в web.config автоматически:

<system.webServer>
    <staticContent>
        <mimeMap fileExtension=".apk" mimeType="application/vnd.android.package-archive" />
    </staticContent>
</system.webServer>

После определения нового MIME Type я перезапустил сайт, перезапустил весьIIS служба, я все еще получаю 404 error, будет признателен, если кто-то может подсказать мне, как отладить проблему с этого момента.


Трассировка журнала:

Как предлагается вкомментарии Я включил Устранение неполадок с ошибками при использовании Tгонки :

Headers="Connection: close
Accept: 
text/html,application/xhtml+xml,
application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed- 
exchange;v=b3
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9

1 Ответ

1 голос
/ 04 июля 2019

Мой поиск по stackoverflow и Google был неверным.Мой развернутый проект на IIS - это веб-сайт .Net Core, и, похоже, в .Net Core проектах нет необходимости добавлять новый MIME Types на IIS сервер.Вместо этого MIME Types обрабатываются методом Configure() внутри Startup.cs

var provider = new FileExtensionContentTypeProvider();
provider.Mappings[".apk"] = "application/vnd.android.package-archive";

app.UseStaticFiles(new StaticFileOptions
{
    ContentTypeProvider = provider
});
...