📱

PCF组件在App中不能使用下载操作

 
如果不知道什么是 PCF组件,可以看我的上一篇文章
此App指的是微软的Field Service

出现问题的场景:

当时写了一个文件上传的组件(包括各类文件的上传,不限制文件的类型,图片可预览,可下载),打包之后在Field Service中进行使用,其中有个功能是下载图片。但是浏览器上使用Field Service,下载没有问题,在手机上使用Field Service这个App,并使用组件下载图片的时候,在App内无法使用下载功能。
 

问题的排查:

  1. PC上没有问题,说明文件链接没有出现问题,是其他的问题
  1. Android和IOS都有这个问题,说明可能跟App配置有关
  1. 查找Field Service 或者微软的文档提供了下载功能没有,但是并没有提供
  1. Field Service 使用的是webview渲染,App内的webview权限太低,无法读取磁盘
 

问题排查的结果:

是App的问题,需要让Field Service使用原生方法提供下载的操作
 

问题的解决:

  1. 让Field Service使用原生方法提供下载操作,好像不太好操作…… 放弃
  1. 在Field Service里面使用window.open打开链接,使用这个。
    1. 2.1 在安卓里面使用window.open 打开链接,在应用程序的内置浏览器中打开,跟App的配置有关,打开之后有下载按钮
      2.2 在IOS里面使用window.open 打开链接,会直接打开一个新的Safari浏览器窗口,页面有下载按钮