|
@@ -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,
|