admin管理员组

文章数量:1530018

腾讯云cos 文件上传,为了防止文件被覆盖,使用了key作为唯一标识的策略。

由于我们公司后端开发使用的是:时间戳—文件名

上传是:ioc.pdf
下载下来是:20220117165840-ioc.pdf

期待是 上传:ioc.pdf 下载下来文件名还是 ioc.pdf

另外,当用户下载的时候,中文名又会被浏览器进行编码,所以,下载到本地就是乱码

解决方案:
1.可以通过文件夹/文件名 来区分
2.前端解析重命名(已经验证)

export function baseDownload(url, name) {
  const fileName = !name ? getUrlFileName(url) : name
  const a = document.createElement('a')
  a.download = fileName
  a.href = url
  a.target = '_blank'
  document.body.appendChild(a)
  a.click()
  document.body.removeChild(a)
}



/**
 * @param {String} url
 * @description 在url地址获取文件名
 */
export function getUrlFileName(url) {
  if (typeof url !== 'string') return
  const [, name] = decodeURI(url).match(/\/\d+-(.+)\?/)
  return name
}

本文标签: 下载地址腾讯重命名文件cos