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 }) }