admin管理员组

文章数量:1533913

微信中H5下载app文件方法

  • 实现思路
      • 前端示例代码
      • java示例代码

实现思路

经测试微信发现如果下载文件是.apk文件会进行拦截,如果是别的下载文件(如:http://xxx/123.doc文件)会尝试呼起手机的默认浏览器进行下载(在个别手机会出现一个弹框让你选择浏览器)。

在这个过程当中会向后端发起两次下载请求,微信第一次发起的请求发现是下载链接,呼起浏览器再次发送下载链接请求。

根据上述情况,我们可以让后端同学封装一个拦截器,当请求下载链接时判断请求头的 “user-agent“ 是微信还是普通浏览器,如果是微信就放行,此时微信会以为是一个普通下载文件(如:我们在微信中的下载链接是http://xxx/123.doc)然后呼起默认浏览器,当默认浏览器会再次请求下载链接,后端拦截器再次判断请求头是否是微信,如果不是则对浏览器进行重定向(如:把http://xxx/123.doc重定向为http://xxx/123.apk)让浏览器进行下载。

前端示例代码

<a href="http://xxx/123.doc">下载app</a>

java示例代码

package com;

import java.io.IOException;

import javax.servlet.Filter;
import jav

本文标签: 信中浏览器方法app