H5调用原生客户端接口下载附件

928 阅读1分钟

在移动前端开发过程中,需要实现附件下载功能。如果具有附件下载功能的页面是通过webview嵌入到原生客户端(IOS或者Android)中的二级页面(即H5),则需要间接调用原生方法实现此功能。

本文封装了一个方法用来实现此功能:

const downloadResource = (url, name, type) => {
  if(window.locationjs) window.locationjs.downloadFile({
    downloadUrl: `${resourceBaseURL}${url}`,
    fileName:`${name}.${type}`
  });
};
<div
  className="detail-attachment"
  onClick={() => void downloadResource(attachmentUrl, name, type)}
>

其中resourceBaseURL需要后端提供,url是附件的相对地址,使用后端接口返回的值即可。