Ver Fonte

😒修复文件上传接口错误

zuohuaijun há 3 anos atrás
pai
commit
b9f0d960ab

+ 3 - 3
Admin.NET/Admin.NET.Core/Service/File/SysFileService.cs

@@ -53,7 +53,7 @@ public class SysFileService : IDynamicApiController, ITransient
     /// <param name="file"></param>
     /// <param name="path"></param>
     /// <returns></returns>
-    public async Task<FileOutput> UploadFile([Required] IFormFile file, string path = "")
+    public async Task<FileOutput> UploadFile([Required] IFormFile file, [FromQuery] string? path)
     {
         var sysFile = await HandleUploadFile(file, path);
         return new FileOutput
@@ -76,7 +76,7 @@ public class SysFileService : IDynamicApiController, ITransient
         var filelist = new List<FileOutput>();
         foreach (var file in files)
         {
-            filelist.Add(await UploadFile(file));
+            filelist.Add(await UploadFile(file, ""));
         }
         return filelist;
     }
@@ -147,7 +147,7 @@ public class SysFileService : IDynamicApiController, ITransient
     /// <param name="file">文件</param>
     /// <param name="savePath">路径</param>
     /// <returns></returns>
-    private async Task<SysFile> HandleUploadFile(IFormFile file, string savePath = "")
+    private async Task<SysFile> HandleUploadFile(IFormFile file, string savePath)
     {
         if (file == null) throw Oops.Oh(ErrorCodeEnum.D8000);
 

+ 16 - 17
Web/src/api-services/apis/sys-file-api.ts

@@ -238,18 +238,13 @@ export const SysFileApiAxiosParamCreator = function (configuration?: Configurati
         /**
          * 
          * @summary 上传文件
-         * @param {string} path 
          * @param {Blob} [file] 
+         * @param {string} [path] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        apiSysFileUploadFilePathPostForm: async (path: string, file?: Blob, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
-            // verify required parameter 'path' is not null or undefined
-            if (path === null || path === undefined) {
-                throw new RequiredError('path','Required parameter path was null or undefined when calling apiSysFileUploadFilePathPostForm.');
-            }
-            const localVarPath = `/api/sysFile/uploadFile/{path}`
-                .replace(`{${"path"}}`, encodeURIComponent(String(path)));
+        apiSysFileUploadFilePostForm: async (file?: Blob, path?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysFile/uploadFile`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, 'https://example.com');
             let baseOptions;
@@ -263,6 +258,10 @@ export const SysFileApiAxiosParamCreator = function (configuration?: Configurati
 
             // authentication Bearer required
 
+            if (path !== undefined) {
+                localVarQueryParameter['path'] = path;
+            }
+
 
             if (file !== undefined) { 
                 localVarFormParams.append('file', file as any);
@@ -452,13 +451,13 @@ export const SysFileApiFp = function(configuration?: Configuration) {
         /**
          * 
          * @summary 上传文件
-         * @param {string} path 
          * @param {Blob} [file] 
+         * @param {string} [path] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysFileUploadFilePathPostForm(path: string, file?: Blob, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultFileOutput>>> {
-            const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileUploadFilePathPostForm(path, file, options);
+        async apiSysFileUploadFilePostForm(file?: Blob, path?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultFileOutput>>> {
+            const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileUploadFilePostForm(file, path, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
                 return axios.request(axiosRequestArgs);
@@ -551,13 +550,13 @@ export const SysFileApiFactory = function (configuration?: Configuration, basePa
         /**
          * 
          * @summary 上传文件
-         * @param {string} path 
          * @param {Blob} [file] 
+         * @param {string} [path] 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysFileUploadFilePathPostForm(path: string, file?: Blob, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultFileOutput>> {
-            return SysFileApiFp(configuration).apiSysFileUploadFilePathPostForm(path, file, options).then((request) => request(axios, basePath));
+        async apiSysFileUploadFilePostForm(file?: Blob, path?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultFileOutput>> {
+            return SysFileApiFp(configuration).apiSysFileUploadFilePostForm(file, path, options).then((request) => request(axios, basePath));
         },
         /**
          * 
@@ -643,14 +642,14 @@ export class SysFileApi extends BaseAPI {
     /**
      * 
      * @summary 上传文件
-     * @param {string} path 
      * @param {Blob} [file] 
+     * @param {string} [path] 
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof SysFileApi
      */
-    public async apiSysFileUploadFilePathPostForm(path: string, file?: Blob, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultFileOutput>> {
-        return SysFileApiFp(this.configuration).apiSysFileUploadFilePathPostForm(path, file, options).then((request) => request(this.axios, this.basePath));
+    public async apiSysFileUploadFilePostForm(file?: Blob, path?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultFileOutput>> {
+        return SysFileApiFp(this.configuration).apiSysFileUploadFilePostForm(file, path, options).then((request) => request(this.axios, this.basePath));
     }
     /**
      * 

+ 1 - 1
Web/src/api-services/models/index.ts

@@ -163,6 +163,7 @@ export * from './sys-dict-data';
 export * from './sys-dict-type';
 export * from './sys-file';
 export * from './sys-file-upload-avatar-body';
+export * from './sys-file-upload-file-body';
 export * from './sys-file-upload-files-body';
 export * from './sys-file-upload-signature-body';
 export * from './sys-job-cluster';
@@ -208,7 +209,6 @@ export * from './update-region-input';
 export * from './update-role-input';
 export * from './update-tenant-input';
 export * from './update-user-input';
-export * from './upload-file-path-body';
 export * from './user-input';
 export * from './user-role-input';
 export * from './wechat-oauth2-input';

+ 3 - 3
Web/src/api-services/models/upload-file-path-body.ts → Web/src/api-services/models/sys-file-upload-file-body.ts

@@ -14,13 +14,13 @@
 /**
  * 
  * @export
- * @interface UploadFilePathBody
+ * @interface SysFileUploadFileBody
  */
-export interface UploadFilePathBody {
+export interface SysFileUploadFileBody {
     /**
      * 
      * @type {Blob}
-     * @memberof UploadFilePathBody
+     * @memberof SysFileUploadFileBody
      */
     file: Blob;
 }

+ 1 - 1
Web/src/views/system/file/index.vue

@@ -174,7 +174,7 @@ const handleChange = (file: any, fileList: []) => {
 // 上传
 const uploadFile = async () => {
 	if (state.fileList.length < 1) return;
-	await getAPI(SysFileApi).apiSysFileUploadFilePathPostForm(state.fileList[0].raw);
+	await getAPI(SysFileApi).apiSysFileUploadFilePostForm(state.fileList[0].raw);
 	handleQuery();
 	ElMessage.success('上传成功');
 	state.dialogVisible = false;