update 完成房屋详情编辑的第一个页签
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import app from '@/main'
|
||||
|
||||
const _getFileTypeByBase64 = (base64) => {
|
||||
let arr = base64.split(','),
|
||||
fileType = arr[0].match(/:(.*?);/)[1]
|
||||
@@ -82,4 +84,42 @@ export const BlobToBase64 = async (blob) => {
|
||||
resolve(e.target.result)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export const GetFileName = (disposition) => {
|
||||
const dispositionSplit = disposition.split(';')
|
||||
const fileName = decodeURI(
|
||||
dispositionSplit[1].split('=')[1],
|
||||
dispositionSplit[2].match(/(?<=\*=).*?(?=\')/)[0]
|
||||
)
|
||||
return fileName
|
||||
}
|
||||
|
||||
export const PreviewFileResponse = async (id) => {
|
||||
return app.$api.sysFileInfoPreview({ id }).then((res) => {
|
||||
return res
|
||||
})
|
||||
}
|
||||
|
||||
export const PreviewFileArrayBuffer = async (id) => {
|
||||
const response = await PreviewFileResponse(id)
|
||||
return response.data
|
||||
}
|
||||
|
||||
export const PreviewFileBase64 = async (id) => {
|
||||
const file = await PreviewFile(id)
|
||||
if (!file) return
|
||||
const base64 = await BlobToBase64(file)
|
||||
return base64
|
||||
}
|
||||
|
||||
export const PreviewFile = async (id) => {
|
||||
const response = await PreviewFileResponse(id)
|
||||
const arrayBuffer = response.data
|
||||
const blob = ArrayBufferToBlob(arrayBuffer)
|
||||
const disposition = response.headers['content-disposition']
|
||||
if (!disposition) return
|
||||
const fileName = GetFileName(disposition)
|
||||
const file = BlobToFile(blob, fileName, response.headers['content-type'])
|
||||
return file
|
||||
}
|
||||
Reference in New Issue
Block a user