Allen's blog Allen's blog
首页
面经
算法 (opens new window)
分类

Allen

前端CV工程师
首页
面经
算法 (opens new window)
分类
  • Javascript

  • TypeScript

  • CSS

  • Vue

  • React

  • 框架和构建工具

  • 工具库

  • 常见业务场景

    • 事件委托
    • 滚动条闪动解决方案
    • 列表拖拽排序
    • linear-gradient背景渐变色
    • 表格组件数据加载,排序等
    • 时间业务
    • 滚动加载
    • 文件下载
      • 文件下载解决方案
      • 遇到的问题
        • 描述
        • 解决
  • Bug

  • 项目实战

  • 前端
  • 常见业务场景
Allen
2023-02-02
目录

文件下载

# 文件下载解决方案

需要下载的文件包括图片、视频、软件包等

我做过软件包的和图片的,这里记录图片的方法 要点:

  1. 创建 a 标签后不要插入到 dom 中,直接在 js 里面调用 click 方法
  2. 设置 href 属性时,拼接?response-content-type=application/octet-stream可以避免浏览器另起一个标签页打开该媒体文件
const downloadImage = () => {
    let a = document.createElement('a')
    a.href =
        imagePreviewImageList.value[imagePreviewImageIndex.value].url +
        '?response-content-type=application/octet-stream'
    a.download = '图片'
    a.target = ''
    a.click()
    a = null
}
1
2
3
4
5
6
7
8
9
10

# 遇到的问题

# 描述

在沙盒环境、预正式环境下载都没有问题,唯独到了正式环境就不行了,沙盒和预环境是页面是 http 协议,下载链接也是 http 协议,能够正常下载。然而正式环境是 https 协议,下载链接是 http 协议,于是不能下载。

# 解决

去掉下载链接中的http://或者https://

上次更新: 2023/12/16, 09:22:46
滚动加载
backgroud-image背景图展示不出来

← 滚动加载 backgroud-image背景图展示不出来→

最近更新
01
rollup使用配置文件rollup.config.ts打包
12-08
02
package.json导出类型
12-08
03
关键问题方案
11-17
更多文章>
Theme by Vdoing | Copyright © 2023-2023 Allen | Github
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式