ต่อ api upload files

This commit is contained in:
AnandaTon 2023-03-31 14:58:53 +07:00
parent 3ff5a4fa46
commit 7722db052d

View file

@ -19,7 +19,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
#region " Fields "
private readonly CandidateService _candidateService;
private readonly MinIOService _minioService;
#endregion
#region " Constructor and Destructor "
@ -712,6 +712,78 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
return Error(ex);
}
}
/// <summary>
/// ตัวอย่างในการเขียน api เพื่อทำการ upload file
/// </summary>
/// <returns></returns>
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพ ลาดในการทำงาน</response>
// [HttpPost("upload"), DisableRequestSizeLimit]
// [ProducesResponseType(StatusCodes.Status200OK)]
// [ProducesResponseType(StatusCodes.Status400BadRequest)]
// [ProducesResponseType(StatusCodes.Status401Unauthorized)]
// [ProducesResponseType(StatusCodes.Status500InternalServerError)]
// [AllowAnonymous]
// public async Task<ActionResult<ResponseObject>> UploadFile()
// {
// try
// {
// if (Request.Form.Files == null || Request.Form.Files.Count == 0)
// {
// return Error(GlobalMessages.NoFileToUpload);
// }
// var file = Request.Form.Files[0];
// var doc = await _minioService.UploadFileAsync(file);
// return Success(doc);
// }
// catch (Exception ex)
// {
// return Error(ex);
// }
// }
[HttpGet("delete/{id:length(36)}")]
[AllowAnonymous]
public async Task<ActionResult<ResponseObject>> DeleteFile(Guid id)
{
try
{
await _minioService.DeleteFileAsync(id);
return Success();
}
catch (Exception ex)
{
return Error(ex);
}
}
[HttpGet("download/{id:length(36)}")]
[AllowAnonymous]
public async Task<ActionResult<ResponseObject>> DownloadFile(Guid id)
{
try
{
var file_data = await _minioService.DownloadFileAsync(id);
Response.Headers["Content-Disposition"] = $"inline; filename={file_data.FileName}";
var ret = new FileContentResult(file_data.FileContent, file_data.FileType)
{
FileDownloadName = file_data.FileName
};
return ret;
}
catch (Exception ex)
{
return Error(ex);
}
}
#endregion
}