Назад | Перейти на главную страницу

Настройте IIS 7.0 для загрузки APK

Я хотел бы знать, как настроить IIS 7.0, чтобы разрешить загрузку файлов APK?

Я нашел статью, в которой мне предлагается добавить новый тип MIME:

Расширение имени файла: .apk

Тип MIME: application / vnd.android.package-archive

Поскольку в IIS должен быть добавлен тип MIME, чтобы IIS мог поддерживать тип файла .APK.

Это все, что нужно?

Спасибо за любые ответы

  1. Откройте Диспетчер информационных служб Интернета (IIS) -> Свойства.
  2. Щелкните Типы MIME
  3. Новое -> тип Extension ".apk" и тип MIME "application / vnd.android.package-archive"
  4. Нажмите ОК и Применить

Как правило, все, что требуется, - это добавить новый тип MIME:

application/vnd.android.package-archive

Добавьте это в web.config:

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

Использование описанного выше метода не требует установки типа MIME в IIS, просто добавьте статический контент в свой файл web.config, как упомянул Игорь.

Лучшим вариантом является использование MIME Zip-файла, поскольку apk на самом деле является zip-файлом, и IIS его знает.

у меня отлично работал с сервером с Windows 10 Anniversary.

Расширение : .apk

Введите MIME : application/octet-stream

Для приложений ASP.NET Core изменения IIS не будут работать.

В твоем Startup.cs файл Configure метод, внесите следующие изменения:

app.UseStaticFiles(new StaticFileOptions()
            {
                ContentTypeProvider = new FileExtensionContentTypeProvider(new Dictionary<string, string>
  {
    { ".apk","application/vnd.android.package-archive"}
  })
            });

Лучшим вариантом является чтение пар типа extension / mime из config и вставка их в метод Config следующим образом, чтобы расширениями можно было управлять из конфигурации:

appsettings.json:

"StaticFilesConfig": {
    "AllowedExtensions": {
      ".apk": "application/vnd.android.package-archive",
      ".ext": "application/ext-example-mimetype" // example
    } 
  }

Startup.cs:

public void ConfigureServices(IServiceCollection services)
{
....
services.Configure<StaticFilesConfig>(Configuration.GetSection("StaticFilesConfig"));
....
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env
 , ILoggerFactory loggerFactory, IOptions<StaticFilesConfig> staticFilesConfig)
{
...
if (staticFilesConfig != null)
            {
                SetStaticFileOptions(app, staticFilesConfig);
            }
...
}

private void SetStaticFileOptions(IApplicationBuilder app
, IOptions<StaticFilesConfig> staticFilesOptions)
        {
            var mapping = staticFilesOptions.Value.AllowedExtensions;
            if (mapping != null && mapping.Any())
            {
                var provider = 
  new FileExtensionContentTypeProvider(staticFilesOptions.Value.AllowedExtensions);
                app.UseStaticFiles(new StaticFileOptions
                {
                    ContentTypeProvider = provider
                });
            }
        }
}

StaticFilesConfig.cs:

public class StaticFilesConfig
    {
        public IDictionary<string, string> AllowedExtensions { get; set; }
    }