using AdminService.ImageUpload;
using Common;
using CommonInfrastructure;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace AdminApi.Controllers
{
[Route("adminapi/[controller]")]
[ApiController]
public class ImageUploadController : BaseController
{
private readonly IImageUploadService _imageUploadService;
public ImageUploadController(IImageUploadService imageUploadService)
{
_imageUploadService = imageUploadService;
}
///
/// 兼容现有前端的通用上传入口。有 name 时按编号覆盖,否则上传到临时目录。
///
[HttpPost("upload")]
public async Task UploadFile(IFormFile file, [FromQuery] string? name = null)
{
if (string.IsNullOrWhiteSpace(name))
name = Request.Form["name"].FirstOrDefault();
var result = await _imageUploadService.UploadImageAsync(file, name);
return result.isOk
? Json(this.ToResult(new { path = result.path, fileName = result.fileName }))
: Json(this.ToFailResult