diff --git a/Infrastructure/Enums/StoreType.cs b/Infrastructure/Enums/StoreType.cs index 79d8e6d..dcc28ca 100644 --- a/Infrastructure/Enums/StoreType.cs +++ b/Infrastructure/Enums/StoreType.cs @@ -29,6 +29,12 @@ namespace Infrastructure.Enums /// 七牛 /// [Description("七牛云")] - QINIU = 4 + QINIU = 4, + + /// + /// 远程 + /// + [Description("远程")] + REMOTE = 5 } } diff --git a/Infrastructure/OptionsSetting.cs b/Infrastructure/OptionsSetting.cs index 3c88ce3..afd3dff 100644 --- a/Infrastructure/OptionsSetting.cs +++ b/Infrastructure/OptionsSetting.cs @@ -31,6 +31,7 @@ namespace Infrastructure public class Upload { public string UploadUrl { get; set; } + public string LocalSavePath { get; set; } } /// /// 阿里云存储 diff --git a/ZR.Admin.WebApi/Controllers/CommonController.cs b/ZR.Admin.WebApi/Controllers/CommonController.cs index 880156c..cd10476 100644 --- a/ZR.Admin.WebApi/Controllers/CommonController.cs +++ b/ZR.Admin.WebApi/Controllers/CommonController.cs @@ -110,13 +110,15 @@ namespace ZR.Admin.WebApi.Controllers switch (storeType) { case StoreType.LOCAL: - string savePath = AppSettings.App(new string[] { "Upload", "localSavePath" }); - if (savePath.IsEmpty()) + string savePath = Path.Combine(WebHostEnvironment.WebRootPath); + if (fileDir.IsEmpty()) { - savePath = Path.Combine(WebHostEnvironment.WebRootPath, "uploads"); + fileDir = AppSettings.App(new string[] { "Upload", "localSavePath" }); } file = await SysFileService.SaveFileToLocal(savePath, fileName, fileDir, HttpContext.GetName(), formFile); break; + case StoreType.REMOTE: + break; case StoreType.ALIYUN: if ((fileSize / 1024) > MaxContentLength) { diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index 20fecc6..01e4874 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -20,8 +20,8 @@ }, "DemoMode": false, //是否演示模式 "Upload": { - "UploadUrl": "http://localhost:8888", - "localSavePath": "" //本地上传文件存储目录/home/website/uploads + "UploadUrl": "http://localhost:8888", //本地存储资源访问路径 + "localSavePath": "uploads" //本地上传默认文件存储目录 wwwroot/uploads }, //阿里云存储配置 "ALIYUN_OSS": { diff --git a/ZR.Service/System/SysFileService.cs b/ZR.Service/System/SysFileService.cs index 3a2abf8..2a4c6e3 100644 --- a/ZR.Service/System/SysFileService.cs +++ b/ZR.Service/System/SysFileService.cs @@ -1,18 +1,17 @@ -using Infrastructure.Attribute; -using Microsoft.AspNetCore.Http; -using System.IO; -using ZR.Service.System.IService; -using ZR.Common; -using Infrastructure; -using System; -using System.Text; -using System.Security.Cryptography; -using System.Net; -using ZR.Model.System; -using ZR.Repository.System; +using Infrastructure; +using Infrastructure.Attribute; using Infrastructure.Extensions; -using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Options; +using System; +using System.IO; +using System.Net; +using System.Security.Cryptography; +using System.Text; +using System.Threading.Tasks; +using ZR.Common; +using ZR.Model.System; +using ZR.Service.System.IService; namespace ZR.Service.System { @@ -44,7 +43,7 @@ namespace ZR.Service.System { string fileExt = Path.GetExtension(formFile.FileName); fileName = (fileName.IsEmpty() ? HashFileName() : fileName) + fileExt; - + string filePath = GetdirPath(fileDir); string finalFilePath = Path.Combine(rootPath, filePath, fileName); double fileSize = Math.Round(formFile.Length / 1024.0, 2); @@ -58,7 +57,7 @@ namespace ZR.Service.System { await formFile.CopyToAsync(stream); } - string uploadUrl = SysConfigService.GetSysConfigByKey("sys.file.uploadUrl")?.ConfigValue ?? OptionsSetting.Upload.UploadUrl; + string uploadUrl = OptionsSetting.Upload.UploadUrl; string accessPath = string.Concat(uploadUrl, "/", filePath.Replace("\\", "/"), "/", fileName); SysFile file = new(formFile.FileName, fileName, fileExt, fileSize + "kb", filePath, userName) {