public async Task <ActionResult <UploadResult> > Upload([FromQuery] SiteRequest request, [FromForm] IFormFile file) { var site = await _siteRepository.GetAsync(request.SiteId); if (file == null) { return(this.Error("请选择有效的文件上传")); } var fileName = Path.GetFileName(file.FileName); if (!PathUtils.IsExtension(PathUtils.GetExtension(fileName), ".jpg", ".jpeg", ".bmp", ".gif", ".png", ".webp")) { return(this.Error("文件只能是 Image 格式,请选择有效的文件上传!")); } var localDirectoryPath = await _pathManager.GetUploadDirectoryPathAsync(site, UploadType.Image); var filePath = PathUtils.Combine(localDirectoryPath, _pathManager.GetUploadFileName(site, fileName)); await _pathManager.UploadAsync(file, filePath); await _pathManager.AddWaterMarkAsync(site, filePath); var imageUrl = await _pathManager.GetSiteUrlByPhysicalPathAsync(site, filePath, true); return(new UploadResult { Name = fileName, Path = filePath, Url = imageUrl }); }