场景:2021.1月份,接近年底的时候,接到了中台子应用需求---开发文件管理系统uni-app,开始想着没有太多交互,想做成H5页面,后来考虑到扩展性,还是做成了uni-app。(ps:我们中台嵌入了多个uni-app子应用,类似于支付宝小程序的形式)。简单展示一下结果:

问题与分析:在中台文件管理系统uni-app中,后端传输文件时,以流文件的形式传输(考虑到文件的私密性,以及方便后端加密处理);如果直接调用uni.downloadFile,会导致下载的文件没有后缀名而无法识别打开,如下图文件1和3。

解决方案:APP这边在uni.downloadFile方法的 header 中设置对应文件类型的 Content-type 属性;同时,后端接口在推流时,也要添加文件对应的Content-type,且给与文件类型区分标记。这样在流文件下载完成后,就能自动保存为对应格式的文件,如上图第二个pdf文件,下载实现代码参考下图。

Content-type对照表(这边随便列举了一个,若网站失效了就自行寻找一下):

content-type对照

关于文档预览:现阶段该项目只需要对图片、文档两种类型的文件进行预览;其中文档预览的实现:Android端,使用了原生桥接腾讯X5浏览器内核;IOS端使用系统自带的文档预览API。

uni-app 中对流文件的处理相关推荐

  1. uni app中使用图表

    关于在uni app中运用图表 今天写项目,需要在uni app中使用图表,我使用的是ucharts. 具体操作如下 1.下载 ucharts可以直接在uni app的插件市场下载安装. 先在插件市场 ...

  2. iOS_44_导入第3方APP内的文件_UTI

    Uniform Type Identifier(UTI) 将第3方APP中的文件,使用自家app打开查看 实质是:将第3方的app中的文件  复制到了 自家app的doc/Inbox文件夹内 在inf ...

  3. Android中R文件ID值

    Android中R文件ID值 文章目录 Android中R文件ID值 前言 知识回顾 在代码中访问资源 语法 R文件 Lib库的R文件 AAR中的R文件 依赖库R文件的生成 R文件的数量 后续疑问 官 ...

  4. Android uni app 列表底部白条解决方案

    uni app中android打开本地vue的列表会发现,底部有条白边. vue通过uni.getSystemInfoSync();方法获取系统信息,首次取值对,再次取值就出错 uni app每次启动 ...

  5. vue插槽solt ,uni.app

    一.什么是插槽? 插槽就是子组件提供给父组件使用的一个占位符,用<slot></solt>表示父组件可以在这个占位符中填充任何模板代码. 二.插槽的用法 1.创建一个子组件,在 ...

  6. iphone app中读取本地txt,csv文件 转载

    原文地址:iphone app中读取本地txt,csv文件 作者:醉吻花颜 - (void)readLocalData { NSString *path = [[NSBundle mainBundle ...

  7. android读取带公章的pdf文件,APP中如何显示带电子签名的PDF文件

    之前碰到一个需求,需要在手机 APP 中显示 pdf 文件.经过调研发现,在电脑上的浏览器如 chrome.safari等,可以直接显示 pdf 文件.由此联想到,在 APP 中能否通过浏览器来加载显 ...

  8. iOS 在其它APP中通过本APP打开的文件如何保存至本APP,然后使用

    1保存至本APP 需要实现在AppDelegate文件中实现方法 (BOOL)application:(UIApplication )app openURL:(NSURL )url options:( ...

  9. iOS从Files App中无法打开特定格式文件的解决(提示没有访问权限)

    问题现象 从iOS 11开始,Apple在系统中增加了一个文件(Files) App, 若其中存储的文件被特定App注册过,我们就可以直接用对应的App将其打开: 但此时即使我们得到了文件的URL,读 ...

最新文章

  1. CF1010F Tree
  2. C# html的Table导出到Excel中
  3. 概要设计实例_尽可能通用的运维CMDB的设计与实践
  4. starting mysql. success!_启动mysql报错解决问题过程
  5. linq to sql 行转列_SQL进阶:SQL高级编程语法实例
  6. Netty实现长连接简单例子
  7. zabbix-自定义监控项
  8. 编写高质量代码改善C#程序的157个建议[4-9]
  9. cte公用表表达式_在SQL Server中使用CTE进行插入和更新(公用表表达式)
  10. Python自动化办公 | 补写178份Word日报!
  11. vmware workstation虚拟机安装Ubuntu server 18.04
  12. cv2.show()cv2.waitKey()cv2.VideoCapture()的使用
  13. 学习写 Makefile
  14. HTML5 FileAPI读取实例---(一)
  15. Arcmap计算土方量教程
  16. 【目标检测】基于帧差法+Vibe算法实现车辆行人检测matlab源码
  17. Effective Java 枚举和注解 第30条:用 enum 代替 int 常量
  18. 菜鸟学-业务流程图、数据流图、模块结构图
  19. python常见容器操作:字符串的增删改查循环、列表的增删改查循环、元组的查循环、字典的的增删改查循环等常规操作
  20. 单张像片空间后方交会

热门文章

  1. Altium Designer 10 (AD10)制作贴片图
  2. 小程序代码超出2M怎么办?如何使用分包加载?
  3. Web前端之less简介
  4. 蝉知CMS本地迁移到服务器具体步骤
  5. 绘画福利!上百款笔刷素材免费送!
  6. 58同城网站的一些想法
  7. 数学建模入门 方法及代码
  8. 20210822普转提训练赛
  9. 讲给后台程序员看的前端系列教程(52)——Bootstrap轮播图
  10. File size exceeds....(文件大小超过限制处理)