From 9be4ae0a498ae10554af11ad064b05a72c25131e Mon Sep 17 00:00:00 2001 From: qwj <qwjzorro@163.com> Date: 星期三, 16 八月 2023 14:46:49 +0800 Subject: [PATCH] 更新上传指定路径 --- DocumentFile.Service/IUploadService.cs | 58 ++++++++++++++++++----------- DocumentFile.Service/Controllers/DocumentController.cs | 6 +- 2 files changed, 39 insertions(+), 25 deletions(-) diff --git a/DocumentFile.Service/Controllers/DocumentController.cs b/DocumentFile.Service/Controllers/DocumentController.cs index 57da744..1046bff 100644 --- a/DocumentFile.Service/Controllers/DocumentController.cs +++ b/DocumentFile.Service/Controllers/DocumentController.cs @@ -31,7 +31,7 @@ ReturnMsg msg = new ReturnMsg(); if(formFile.Length>0) { - msg = await this._uploadService.HandleUploadTemplateFile(formFile,code); + msg = await this._uploadService.HandleUploadWordFile(formFile,code,""); } else { @@ -46,12 +46,12 @@ /// </summary> /// <returns></returns> [HttpPost] - public async Task<IActionResult> UploadDocInstance([FromForm] string code, IFormFile formFile) + public async Task<IActionResult> UploadDocInstance([FromForm] string code, [FromForm] string path, IFormFile formFile) { ReturnMsg msg = new ReturnMsg(); if (formFile.Length > 0) { - msg = await this._uploadService.HandleUploadWordFile(formFile, code); + msg = await this._uploadService.HandleUploadWordFile(formFile, code,path); } else { diff --git a/DocumentFile.Service/IUploadService.cs b/DocumentFile.Service/IUploadService.cs index 24834ea..833ad2a 100644 --- a/DocumentFile.Service/IUploadService.cs +++ b/DocumentFile.Service/IUploadService.cs @@ -4,9 +4,9 @@ { public interface IUploadService { - Task<ReturnMsg> HandleUploadWordFile(IFormFile iFormFile,string code); + Task<ReturnMsg> HandleUploadWordFile(IFormFile iFormFile,string code,string name); - Task<ReturnMsg> HandleUploadTemplateFile(IFormFile iFormFile, string code); + //Task<ReturnMsg> HandleUploadTemplateFile(IFormFile iFormFile, string code); Task<ReturnMsg> HandleUploadImageFile(IFormFile iFormFile, string code); @@ -31,7 +31,7 @@ /// <param name="folder">鏂囦欢澶瑰垎绫绘爣绛�</param> /// <param name="format"></param> /// <returns></returns> - protected async virtual Task<ReturnMsg> HandleUploadFile(IFormFile formFile,string tenant, string folder, params string[] format) + protected async virtual Task<ReturnMsg> HandleUploadFile(IFormFile formFile,string tenant, string folder,string name, params string[] format) { ReturnMsg msg = new ReturnMsg(); @@ -45,18 +45,32 @@ } else { - var path = $"/uploads/{tenant}/{folder}/{DateTime.Now:yyyyMMdd}"; - var dir = this._webRootPath + path; - if (!Directory.Exists(dir)) + string path; + if (string.IsNullOrEmpty(name)) { - Directory.CreateDirectory(dir); + //鏈嶅姟鍣ㄥ懡鍚� + path = $"/uploads/{tenant}/{folder}/{DateTime.Now:yyyyMMdd}"; + var dir = this._webRootPath + path; + if (!Directory.Exists(dir)) + { + Directory.CreateDirectory(dir); + } + var filename = CreateName(path, extensionName); + path +="/" + filename; } - - var filename = CreateName(path,extensionName); - path += "/" + filename; + else + { + //鏈湴涓婁紶鍛藉悕 + path = name; + string baseDirectory = Path.GetDirectoryName(this._webRootPath + name); + if (!Directory.Exists(baseDirectory)) + { + Directory.CreateDirectory(baseDirectory); + } + } // 鍒涘缓鏂版枃浠� - using var fs = File.Create(this._webRootPath+ path); + using var fs = File.Create(this._webRootPath + path); await formFile.CopyToAsync(fs); // 娓呯┖缂撳啿鍖烘暟鎹� fs.Flush(); @@ -101,17 +115,17 @@ /// <param name="iFormFile"></param> /// <param name="format"></param> /// <returns></returns> - public async virtual Task<ReturnMsg> HandleUploadWordFile(IFormFile iFormFile, string code) - => await this.HandleUploadFile(iFormFile,code, "Instance", ".doc",".docx"); + public async virtual Task<ReturnMsg> HandleUploadWordFile(IFormFile iFormFile, string code,string name) + => await this.HandleUploadFile(iFormFile,code, "Word",name, ".doc",".docx"); - /// <summary> - /// 涓婁紶word妯℃澘鏂囦欢 - /// </summary> - /// <param name="iFormFile"></param> - /// <param name="format"></param> - /// <returns></returns> - public async virtual Task<ReturnMsg> HandleUploadTemplateFile(IFormFile iFormFile, string code) - => await this.HandleUploadFile(iFormFile, code, "Template", ".doc", ".docx"); + ///// <summary> + ///// 涓婁紶word妯℃澘鏂囦欢 + ///// </summary> + ///// <param name="iFormFile"></param> + ///// <param name="format"></param> + ///// <returns></returns> + //public async virtual Task<ReturnMsg> HandleUploadTemplateFile(IFormFile iFormFile, string code) + // => await this.HandleUploadFile(iFormFile, code, "Template", ".doc", ".docx"); /// <summary> /// 涓婁紶鍥剧墖 @@ -120,7 +134,7 @@ /// <param name="folder"></param> /// <returns></returns> public async virtual Task<ReturnMsg> HandleUploadImageFile(IFormFile iFormFile, string code) - => await this.HandleUploadFile(iFormFile, code, "Photo", ".jpg", ".jpeg", ".png"); + => await this.HandleUploadFile(iFormFile, code, "Photo","", ".jpg", ".jpeg", ".png"); /*, ".gif", ".jfif"*/ ///// <summary> -- Gitblit v1.9.1