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