This repository has been archived on 2023-06-30. You can view files and clone it, but cannot push or open issues or pull requests.
2chBackAPI/APIControllers/PictureUpload.cs
RakVhalate d3a6161978
All checks were successful
continuous-integration/drone/push Build is passing
123
2022-12-01 22:52:36 +10:00

40 lines
1.4 KiB
C#

using Microsoft.AspNetCore.Mvc;
using NeDvachAPI.DBControllers;
namespace NeDvachAPI.Controllers
{
[ApiController]
[Route("[controller]")]
public class UploadPic : ControllerBase
{
[HttpPost(Name = "UploadPicture")]
public async Task<JsonResult> ReceivePost([FromForm] IFormFile PostPicture)
{
var supportedTypes = new[] { "jpg", "png" };
string receivedFileName = PostPicture.FileName;
string fileExt = receivedFileName.Substring((receivedFileName.Length) - 3, 3);
if (supportedTypes.Contains(fileExt.ToLower())) //file type check
{
///Local Buffer File Part
string filePath;
filePath = Directory.GetCurrentDirectory() + "\\Buffer\\" + receivedFileName;
Stream picBuffer = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
PostPicture.CopyTo(picBuffer);
picBuffer.Close();
///MinIo part
JsonResult picAdress = new(await MinIOchat.PictureUpload(filePath, receivedFileName));
Console.WriteLine("Загружен файл:" + "http://static.vdk2ch.ru:15555/thread-pics/" + receivedFileName);
return picAdress;
}
else return new JsonResult("Неверный тип файла");
}
}
}