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);
}
}