wwwroot目录下上传的apk文件无法访问问题咨询
问题根因
这个问题是Web服务器未配置.apk格式的MIME类型映射导致的。
你提到的图片、JS、CSS、ZIP格式都在服务器默认的MIME类型白名单里,所以能正常访问;服务器遇到不在白名单里的后缀文件时,会直接拦截请求返回404/403错误,不会把文件返回给客户端,和文件本身是否损坏、路径是否正确没有关系——你把apk压缩成zip就能正常下载,刚好验证了这一点,zip是默认在白名单里的格式。
注:wwwroot是IIS的默认站点根目录,你大概率用的是IIS服务器,下面优先给IIS的解决方法,其他主流服务器的解决方法也一并附上。
解决方法
IIS 服务器
方法1:图形界面配置
- 打开IIS管理器,选中目标站点
- 在功能视图中找到MIME类型项,双击进入配置页
- 点击右侧操作栏的「添加」按钮,按以下内容填写:
- 文件扩展名:
.apk - MIME类型:
application/vnd.android.package-archive
- 文件扩展名:
- 保存配置后重启对应站点,即可正常访问apk文件
方法2:直接修改站点配置
打开站点wwwroot目录下的web.config文件,在<system.webServer>节点下添加如下配置:
<staticContent> <!-- 先移除可能存在的重复规则,避免配置报错 --> <remove fileExtension=".apk" /> <mimeMap fileExtension=".apk" mimeType="application/vnd.android.package-archive" /> </staticContent>
保存后不需要重启站点,刷新即可生效。
Nginx 服务器
- 找到Nginx配置目录下的
mime.types文件,在类型映射列表中添加一行:
application/vnd.android.package-archive apk;
- 保存后执行
nginx -s reload命令重载配置,即可生效。
Apache 服务器
- 在站点根目录的
.htaccess文件中添加如下配置:
AddType application/vnd.android.package-archive .apk
- 保存后重载Apache服务即可正常访问。
内容的提问来源于stack exchange,提问作者mohammad
相关产品推荐
相关产品推荐

