205 lines
4.7 KiB
JavaScript
205 lines
4.7 KiB
JavaScript
import request from '@/utils/request'
|
|
import { message } from 'ant-design-vue'
|
|
|
|
export const fileApi = {
|
|
VerifyUpload: '/file/verifyFileExist',
|
|
MergeFile: '/file/mergeFile',
|
|
UpdateFolder: '/file/updateFolder',
|
|
GetUserFolderAndFiles: '/file/folder/getUserFolderAndFiles',
|
|
CreateFolder: '/file/folder/add',
|
|
GetFolderInfo: '/file/folder/getInfo',
|
|
EditFolder: '/file/folder/edit',
|
|
RemoveFolder: '/file/folder/remove',
|
|
GetFileSize: '/file/filesize',
|
|
FileDown: '/file/download',
|
|
downloadById: '/file/downloadById',
|
|
|
|
downloadTask: '/file/downloadTask', // 查重页下载相应的文件
|
|
downloadTaskById: '/file/downloadTaskById', // 查重页下载相应的文件
|
|
downloadTaskConvertFile: '/file/downloadTaskConvertFile', // 查重页下载相应的文件
|
|
exportProjectUnitToExcel: '/project/projectAnalysis/exportProjectUnitToExcel' // 查重页下载相应的文件
|
|
}
|
|
|
|
// 校验文件是否上传
|
|
export function verifyUpload (params) {
|
|
return request({
|
|
url: fileApi.VerifyUpload,
|
|
params
|
|
})
|
|
}
|
|
|
|
// 合并文件
|
|
export function mergeFile (data) {
|
|
return request({
|
|
url: fileApi.MergeFile,
|
|
method: 'post',
|
|
params: data
|
|
})
|
|
}
|
|
|
|
// 调整文件所属文件夹
|
|
export function updateFolder (params) {
|
|
return request({
|
|
url: fileApi.UpdateFolder,
|
|
method: 'post',
|
|
params
|
|
})
|
|
}
|
|
|
|
// 获取当前用户的文件夹及文件
|
|
export function getUserFolderAndFiles (params) {
|
|
return request({
|
|
url: fileApi.GetUserFolderAndFiles,
|
|
method: 'get',
|
|
params
|
|
})
|
|
}
|
|
// 创建文件夹
|
|
export function createFolder (data) {
|
|
return request({
|
|
url: fileApi.CreateFolder,
|
|
method: 'post',
|
|
data
|
|
})
|
|
}
|
|
|
|
// 获取文件夹详情
|
|
export function getFolderInfo (params) {
|
|
return request({
|
|
url: fileApi.GetFolderInfo,
|
|
method: 'get',
|
|
params
|
|
})
|
|
}
|
|
|
|
// 编辑文件夹信息
|
|
export function editFolder (data) {
|
|
return request({
|
|
url: fileApi.EditFolder,
|
|
method: 'put',
|
|
data
|
|
})
|
|
}
|
|
|
|
// 删除文件夹
|
|
export function removeFolder (params) {
|
|
return request({
|
|
url: fileApi.RemoveFolder,
|
|
method: 'delete',
|
|
params
|
|
})
|
|
}
|
|
|
|
// 获取文件大小
|
|
export function getFileSize (params) {
|
|
return request({
|
|
url: fileApi.GetFileSize,
|
|
method: 'get',
|
|
params
|
|
})
|
|
}
|
|
|
|
// 下载文件
|
|
export function fileDown (params, contentRage) {
|
|
return request({
|
|
url: fileApi.FileDown,
|
|
method: 'get',
|
|
params,
|
|
// headers: { Range: contentRage },
|
|
responseType: 'blob',
|
|
isRawData: true
|
|
})
|
|
}
|
|
/**
|
|
* 下载文件 用于excel导出
|
|
* @param url
|
|
* @param parameter
|
|
* @returns {*}
|
|
*/
|
|
export function downFile (url, parameter) {
|
|
return request({
|
|
url: url,
|
|
params: parameter,
|
|
method: 'get',
|
|
responseType: 'blob',
|
|
isRawData: true
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 下载文件
|
|
* @param url 文件路径
|
|
* @param fileName 文件名
|
|
* @param parameter
|
|
* @returns {*}
|
|
*/
|
|
export function downloadFile (fileName, parameter, downloadUrl) {
|
|
return downFile(downloadUrl || fileApi.FileDown, parameter).then((data) => {
|
|
if (!data || data.size === 0) {
|
|
console.error('文件下载失败')
|
|
return
|
|
}
|
|
if (typeof window.navigator.msSaveBlob !== 'undefined') {
|
|
window.navigator.msSaveBlob(new Blob([data]), fileName)
|
|
} else {
|
|
const url = window.URL.createObjectURL(new Blob([data]))
|
|
const link = document.createElement('a')
|
|
link.style.display = 'none'
|
|
link.href = url
|
|
link.setAttribute('download', fileName)
|
|
document.body.appendChild(link)
|
|
link.click()
|
|
document.body.removeChild(link) // 下载完成移除元素
|
|
window.URL.revokeObjectURL(url) // 释放掉blob对象
|
|
}
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 下载文件
|
|
* @param url 文件路径
|
|
* @param fileName 文件名
|
|
* @param parameter
|
|
* @returns {*}
|
|
*/
|
|
export function downloadFile2 (fileName, parameter, downloadUrl) {
|
|
return downFile(downloadUrl || fileApi.FileDown, parameter).then((data) => {
|
|
if (!data || data.size === 0) {
|
|
message.error('文件不存在,请重新上传文件')
|
|
return
|
|
}
|
|
if (typeof window.navigator.msSaveBlob !== 'undefined') {
|
|
window.navigator.msSaveBlob(new Blob([data]), fileName)
|
|
} else {
|
|
const url = window.URL.createObjectURL(new Blob([data]))
|
|
const link = document.createElement('a')
|
|
link.style.display = 'none'
|
|
link.href = url
|
|
link.setAttribute('download', fileName)
|
|
document.body.appendChild(link)
|
|
link.click()
|
|
document.body.removeChild(link) // 下载完成移除元素
|
|
window.URL.revokeObjectURL(url) // 释放掉blob对象
|
|
}
|
|
})
|
|
}
|
|
|
|
// post
|
|
export function postAction (url, parameter) {
|
|
return request({
|
|
url: url,
|
|
method: 'post',
|
|
data: parameter
|
|
})
|
|
}
|
|
|
|
export function downloadById (params) {
|
|
return request({
|
|
url: fileApi.downloadById,
|
|
method: 'get',
|
|
isRawData: true,
|
|
responseType: 'blob',
|
|
params
|
|
})
|
|
}
|