web-dev-qa-db-ja.com

IIS 7.0を設定してAPKをダウンロードします

IIS 7.0を構成してAPKファイルのダウンロードを許可する方法を教えてください。

新しいMIMEタイプを追加するように指示する記事を見つけました。

ファイル名拡張子:.apk

MIMEタイプ:application/vnd.Android.package-archive

In IISでは、.APKファイルタイプをサポートするためにIISを許可するために、MIMEタイプを追加する必要があるため、.

これで十分ですか?

返信ありがとう

29
John

通常、新しいMIMEタイプを追加するだけで十分です。

application/vnd.Android.package-archive
23
phoebus
  1. インターネットインフォメーションサービス(IIS)マネージャーを開く->プロパティ
  2. MIMEタイプをクリックします
  3. 新規->タイプ拡張子 ".apk"およびMIMEタイプ "application/vnd.Android.package-archive"
  4. Okをクリックして適用します
46
TimLau

これをweb.configに追加します。

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

拡張子.apk

タイプMIMEapplication/octet-stream

0
Zied R.

上記の方法を使用する場合、MIMEタイプをIISで設定する必要はありません。Igorが述べたように、web.configファイルに静的コンテンツを追加するだけです。

0
Ridwaan Maharaj

apkは実際にはZipファイルであり、IISはそれを知っているため、より良いオプションはZipファイルのMIMEを使用することです。

私にとっては、Windows 10 Anniversaryを搭載したサーバーで問題なく動作しました。

0
crazy cuban boy

ASP.NET Coreアプリケーションの場合、IIS変更は機能しません。

あなたのStartup.csファイルのConfigureメソッド、次の変更を行います:

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

より良いオプションは、拡張機能と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; }
    }
0
Abdullah Shoaib