|
|
|
@ -5,7 +5,7 @@ import axios from 'axios'; |
|
|
|
import qs from 'qs'; |
|
|
|
import { AxiosCanceler } from './axiosCancel'; |
|
|
|
import { isFunction } from '/@/utils/is'; |
|
|
|
import { cloneDeep, omit } from 'lodash-es'; |
|
|
|
import { cloneDeep } from 'lodash-es'; |
|
|
|
import { ContentTypeEnum } from '/@/enums/httpEnum'; |
|
|
|
import { RequestEnum } from '/@/enums/httpEnum'; |
|
|
|
|
|
|
|
@ -121,11 +121,17 @@ export class VAxios { |
|
|
|
*/ |
|
|
|
uploadFile<T = any>(config: AxiosRequestConfig, params: UploadFileParams) { |
|
|
|
const formData = new window.FormData(); |
|
|
|
const customFilename = params.name || 'file'; |
|
|
|
|
|
|
|
if (params.filename) { |
|
|
|
formData.append(customFilename, params.file, params.filename); |
|
|
|
} else { |
|
|
|
formData.append(customFilename, params.file); |
|
|
|
} |
|
|
|
|
|
|
|
if (params.data) { |
|
|
|
Object.keys(params.data).forEach((key) => { |
|
|
|
if (!params.data) return; |
|
|
|
const value = params.data[key]; |
|
|
|
const value = params.data![key]; |
|
|
|
if (Array.isArray(value)) { |
|
|
|
value.forEach((item) => { |
|
|
|
formData.append(`${key}[]`, item); |
|
|
|
@ -133,15 +139,9 @@ export class VAxios { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
formData.append(key, params.data[key]); |
|
|
|
formData.append(key, params.data![key]); |
|
|
|
}); |
|
|
|
} |
|
|
|
formData.append(params.name || 'file', params.file, params.filename); |
|
|
|
const customParams = omit(params, 'file', 'filename', 'file'); |
|
|
|
|
|
|
|
Object.keys(customParams).forEach((key) => { |
|
|
|
formData.append(key, customParams[key]); |
|
|
|
}); |
|
|
|
|
|
|
|
return this.axiosInstance.request<T>({ |
|
|
|
...config, |
|
|
|
|