diff --git a/OpenAuth.App/Files/FileApp.cs b/OpenAuth.App/Files/FileApp.cs index 92e9a0c0..093f7c7c 100644 --- a/OpenAuth.App/Files/FileApp.cs +++ b/OpenAuth.App/Files/FileApp.cs @@ -67,11 +67,6 @@ namespace OpenAuth.App /// public List Add(IFormFileCollection files) { - if (!_auth.CheckLogin()) - { - throw new Exception("必需登录才能上传附件"); - } - var result = new List(); foreach (var file in files) { @@ -92,6 +87,12 @@ namespace OpenAuth.App { _logger.LogWarning("收到新文件为空"); } + + string createUserName = "匿名"; + if (_auth.CheckLogin()) + { + createUserName = _auth.GetUserName(); + } if (file != null && file.Length > 0 && file.Length < 10485760) { @@ -107,7 +108,7 @@ namespace OpenAuth.App Thumbnail = _dbThumbnail, FileName = fileName, FileSize = file.Length.ToInt(), - CreateUserName = _auth.GetUserName(), + CreateUserName = createUserName, FileType = Path.GetExtension(fileName), Extension = Path.GetExtension(fileName) }; diff --git a/OpenAuth.WebApi/Controllers/FilesController.cs b/OpenAuth.WebApi/Controllers/FilesController.cs index b7634e1b..e0b6f9b9 100644 --- a/OpenAuth.WebApi/Controllers/FilesController.cs +++ b/OpenAuth.WebApi/Controllers/FilesController.cs @@ -65,9 +65,10 @@ namespace OpenAuth.WebApi.Controllers /// 批量上传文件接口 /// 客户端文本框需设置name='files' /// - /// + /// 不能读取文件以外的其他form-data参数 /// 服务器存储的文件信息 [HttpPost] + [AllowAnonymous] public Response> Upload(IFormFileCollection files) { var result = new Response>(); @@ -83,5 +84,31 @@ namespace OpenAuth.WebApi.Controllers return result; } + + /// + /// 以form-data的形式上传文件 + /// 通常用于类似vform上传等功能 + /// + /// 客户端可以带其他参数 + /// 服务器存储的文件信息 + [HttpPost] + [AllowAnonymous] + public Response> UploadWithFormData(IFormCollection formdata) + { + var result = new Response>(); + try + { + var files = HttpContext.Request.Form.Files; + result.Result = _app.Add(files); + } + catch (Exception ex) + { + result.Code = 500; + result.Message = ex.Message; + } + + return result; + } + } }