web-dev-qa-db-fra.com

Configurer IIS 7.0 pour télécharger l'APK

Je voudrais savoir comment configurer IIS 7.0 pour autoriser le téléchargement de fichiers APK?

J'ai trouvé un article qui me dit d'ajouter un nouveau type MIME:

Extension de nom de fichier: .apk

Type MIME: application/vnd.Android.package-archive

Parce que dans IIS, un type MIME doit être ajouté pour permettre à IIS de prendre en charge le type de fichier .APK).

Est-ce tout ce dont vous avez besoin?

Merci pour toutes les réponses

29
John

En règle générale, l'ajout d'un nouveau type MIME doit être suffisant:

application/vnd.Android.package-archive
23
phoebus
  1. Ouvrez le Gestionnaire des services Internet (IIS) -> Propriétés
  2. Cliquez sur les types MIME
  3. Nouveau -> tapez l'extension ".apk" et le type MIME "application/vnd.Android.package-archive"
  4. Cliquez sur Ok et appliquez
46
TimLau

Ajoutez ceci au web.config:

<system.webServer>
   <staticContent>
     <mimeMap fileExtension="apk" mimeType="application/vnd.Android.package-archive" />
   </staticContent>
<system.webServer>
9
Igor Gorjanc

Extension: .apk

Tapez MIME: application/octet-stream

0
Zied R.

L'utilisation de la méthode ci-dessus ne nécessite pas que le type MIME soit défini dans IIS, ajoutez simplement le contenu statique dans votre fichier web.config, comme mentionné par Igor

0
Ridwaan Maharaj

une meilleure option est d'utiliser le MIME d'un fichier Zip, car une apk est en fait un fichier Zip et est IIS le sait.

pour moi fonctionnait très bien avec un serveur avec Windows 10 Anniversary.

0
crazy cuban boy

Pour les applications ASP.NET Core, les modifications IIS ne fonctionneront pas.

Dans ton Startup.cs méthode du fichier Configure, apportez les modifications suivantes:

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

Une meilleure option consiste à lire les paires de types extension/mime dans config et à les injecter dans la méthode Config comme ceci afin que les extensions puissent être gérées à partir de la configuration:

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; }
    }
0
Abdullah Shoaib