using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.ComponentModel.DataAnnotations;
namespace DocumentFile.Service.Controllers
{
[Route("api/[controller]/[action]")]
[ApiController]
public class DocumentController : ControllerBase
{
private readonly IUploadService _uploadService;
///
/// 构造
///
///
public DocumentController(IUploadService uploadService)
{
_uploadService = uploadService;
}
///
/// 上传文件模板(doc、docx)
///
/// 租户唯一标识code
/// 文件
///
[HttpPost]
public async Task UploadDocTemplate([FromForm]string code,IFormFile formFile)
{
ReturnMsg msg = new ReturnMsg();
if(formFile.Length>0)
{
msg = await this._uploadService.HandleUploadTemplateFile(formFile,code);
}
else
{
msg.error = "请上传文件";
}
return new JsonResult(msg);
}
///
/// 上传文件(doc、docx)
///
///
[HttpPost]
public async Task UploadDocInstance([FromForm] string code, IFormFile formFile)
{
ReturnMsg msg = new ReturnMsg();
if (formFile.Length > 0)
{
msg = await this._uploadService.HandleUploadWordFile(formFile, code);
}
else
{
msg.error = "请上传文件";
}
return new JsonResult(msg);
}
///
/// 上传图片(jpg、jpeg、png)
///
///
[HttpPost]
public async Task UploadPhoto([FromForm] string code, IFormFile formFile)
{
ReturnMsg msg = new ReturnMsg();
if (formFile.Length > 0)
{
msg = await this._uploadService.HandleUploadImageFile(formFile, code);
}
else
{
msg.error = "请上传文件";
}
return new JsonResult(msg);
}
///
/// 下载文件
///
///
///
[HttpPost]
public IActionResult Download([FromForm] string url)
{
try
{
if (!string.IsNullOrEmpty(url))
{
var _webRootPath = AppDomain.CurrentDomain.BaseDirectory;
var path = _webRootPath + url;
if (System.IO.File.Exists(path))
{
return new FileStreamResult(new FileStream(path, FileMode.Open), "application/octet-stream");// { FileDownloadName = FileName };
}
}
}
catch (Exception ex)
{
NLogProvider.GetInstance().Error(ex);
}
return BadRequest();
}
}
}