From da70ee8b828a2db0496aabc9fef9c20f7b7fee5c Mon Sep 17 00:00:00 2001 From: liaoxujun@qq.com <liaoxujun@qq.com> Date: 星期一, 28 八月 2023 11:17:40 +0800 Subject: [PATCH] Merge branch 'master' of http://47.108.235.38:8080/r/DocumentService --- DocumentFile.Service/IUploadService.cs | 85 +++++++++++++++++++++++++++++------------- 1 files changed, 59 insertions(+), 26 deletions(-) diff --git a/DocumentFile.Service/IUploadService.cs b/DocumentFile.Service/IUploadService.cs index 9d91a2c..833ad2a 100644 --- a/DocumentFile.Service/IUploadService.cs +++ b/DocumentFile.Service/IUploadService.cs @@ -4,11 +4,11 @@ { public interface IUploadService { - Task<ReturnMsg> HandleUploadWordFile(IFormFile iFormFile); + Task<ReturnMsg> HandleUploadWordFile(IFormFile iFormFile,string code,string name); - Task<ReturnMsg> HandleUploadTemplateFile(IFormFile iFormFile); + //Task<ReturnMsg> HandleUploadTemplateFile(IFormFile iFormFile, string code); - Task<ReturnMsg> HandleUploadImageFile(IFormFile iFormFile); + Task<ReturnMsg> HandleUploadImageFile(IFormFile iFormFile, string code); //(string fileType, byte[] archiveData, string archiveName) DownloadFiles(string subDirectory); @@ -27,10 +27,11 @@ /// 涓婁紶鏂囦欢 杈呭姪鍑芥暟 /// </summary> /// <param name="formFile"></param> - /// <param name="folder"></param> + /// <param name="tenant">鏂囦欢澶瑰鎴锋爣璇�</param> + /// <param name="folder">鏂囦欢澶瑰垎绫绘爣绛�</param> /// <param name="format"></param> /// <returns></returns> - protected async virtual Task<ReturnMsg> HandleUploadFile(IFormFile formFile, 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(); @@ -44,19 +45,32 @@ } else { - var path = $"/upload/{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 = $"ZC_{DateTime.Now:HHmmssfff}" + 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(); @@ -75,6 +89,25 @@ return msg; } + /// <summary> + /// 鐢熸垚鍞竴鐨勬枃浠跺悕 + /// </summary> + /// <param name="path"></param> + /// <param name="extensionName"></param> + /// <returns></returns> + private string CreateName(string path,string extensionName) + { + var filename = $"ZC_{DateTime.Now:HHmmssfff}" + extensionName; + if (File.Exists(path + "/" + filename)) + { + return CreateName(path, extensionName); + } + else + { + return filename; + } + } + /// <summary> /// 涓婁紶word鏂囦欢 @@ -82,17 +115,17 @@ /// <param name="iFormFile"></param> /// <param name="format"></param> /// <returns></returns> - public async virtual Task<ReturnMsg> HandleUploadWordFile(IFormFile iFormFile) - => await this.HandleUploadFile(iFormFile, "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) - => await this.HandleUploadFile(iFormFile, "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> /// 涓婁紶鍥剧墖 @@ -100,8 +133,8 @@ /// <param name="iFormFile"></param> /// <param name="folder"></param> /// <returns></returns> - public async virtual Task<ReturnMsg> HandleUploadImageFile(IFormFile iFormFile) - => await this.HandleUploadFile(iFormFile, "Photo", ".jpg", ".jpeg", ".png"); + public async virtual Task<ReturnMsg> HandleUploadImageFile(IFormFile iFormFile, string code) + => await this.HandleUploadFile(iFormFile, code, "Photo","", ".jpg", ".jpeg", ".png"); /*, ".gif", ".jfif"*/ ///// <summary> -- Gitblit v1.9.1