需求:
点击不同附件浏览器查看效果不同,比如附近类型为pdf,则打开一个新的tab页在线预览,如果是zip包等,则直接下载,如果是image,则弹窗展示当前图片

如下图,服务端一般会把文件放在一个云服务上,我们无法根据当前地址判断出该文件类型

我们可以创造一个http请求当前地址,那么response header则会返回当前的文件类型,我们可以根据当前的文件类型再做不同的操作
代码实现
/**
* 文件下载 或者预览
* @param url
* @param fileName
* @param previewTypes 需要预览的文件类型 默认所有类型都是下载 请确保传入正确的MIME 类型或者MIME类型的的主要字段 比如 image/png可传入image
* @param customTypes 需要自定义的文件类型 会返回当前文件类型 请确保传入正确的MIME 类型
*/
export const downloadOrPreviewFile = (url: string, fileName: string, previewTypes: string[] = [], customTypes: string[] = []): Promise<string> => {
return

本文介绍了如何通过发送HTTP请求获取文件类型,以便决定是预览还是下载。通过检查响应头的Content-Type,实现对不同文件类型的智能处理,如PDF预览、ZIP下载和图片弹窗显示。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



