using Microsoft.AspNetCore.Mvc; using MyHomePage.Api.Common; using MyHomePage.Api.Models.Dtos; using MyHomePage.Api.Services; namespace MyHomePage.Api.Controllers; /// 文件上传(图片为主)。 [ApiController] [Route("api/upload")] public class UploadController : ControllerBase { private readonly IUploadService _service; public UploadController(IUploadService service) => _service = service; /// 单文件上传 /// /// Swashbuckle 6.x 不支持 [FromForm] IFormFile 自动生成 schema(会抛 SwaggerGeneratorException), /// 这里用 [ApiExplorerSettings(IgnoreApi = true)] 让 swagger UI 跳过此端点的文档生成, /// 实际 API 功能完全不受影响(前端 BookmarkForm 仍可正常调用)。 /// [HttpPost] [ApiExplorerSettings(IgnoreApi = true)] public async Task> Upload([FromForm] IFormFile file) { var result = await _service.SaveAsync(file); return ApiResponse.Ok(result); } }