123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import http from '@/utils/request'
- import {
- UrlPath
- } from "@/utils/commonuni"
- export const download = (id) => {
- console.log('download-:' + id)
- doDownload(id, `${process.env.VUE_APP_OSS_URL}/download`).then(response => {
- // 提取文件名
- let filename = response.headers['content-disposition'].match(
- /filename=(.*)/
- )[1]
- filename = decodeURI(filename)
- filename = filename.replaceAll('"', '')
- // 将二进制流转为blob
- const blob = new Blob([response.data])
- if (typeof window.navigator.msSaveBlob !== 'undefined') {
- // 兼容IE,window.navigator.msSaveBlob:以本地方式保存文件
- window.navigator.msSaveBlob(blob, filename)
- } else {
- // 创建新的URL并指向File对象或者Blob对象的地址
- const blobURL = window.URL.createObjectURL(blob)
- // 创建a标签,用于跳转至下载链接
- const tempLink = document.createElement('a')
- tempLink.style.display = 'none'
- tempLink.href = blobURL
- tempLink.setAttribute('download', filename)
- // 兼容:某些浏览器不支持HTML5的download属性
- if (typeof tempLink.download === 'undefined') {
- tempLink.setAttribute('target', '_blank')
- }
- // 挂载a标签
- document.body.appendChild(tempLink)
- tempLink.click()
- document.body.removeChild(tempLink)
- // 释放blob URL地址
- window.URL.revokeObjectURL(blobURL)
- }
- })
- }
- const doDownload = (id, url) => {
- return http.get(url, {
- id: id,
- isFile: true
- })
- }
- export const uploadImageModelValue = (id) => {
- var ids = null
- id = JSON.parse(JSON.stringify(id))
- if (typeof(id) == 'string') {
- ids = id.split(",")
- } else if (id instanceof Array) {
- ids = JSON.parse(JSON.stringify(id))
- } else {
- return []
- }
- var urlList = []
- for (var i = 0; i < ids.length; i++) {
- var urlObj = {}
- urlObj.url = UrlPath.getBaseUrl() + "oss/preview?id=" + ids[i]+"&code=" + uni.getStorageSync("token")
- urlList.push(urlObj)
- }
- return urlList;
- }
|