using Microsoft.AspNetCore.Mvc;
|
|
namespace DocumentFile.Service.Controllers
|
{
|
[Route("api/[controller]/[action]")]
|
[ApiController]
|
public class DocumentController : ControllerBase
|
{
|
private readonly IUploadService _uploadService;
|
|
/// <summary>
|
/// 构造
|
/// </summary>
|
/// <param name="uploadService"></param>
|
public DocumentController(IUploadService uploadService)
|
{
|
_uploadService = uploadService;
|
}
|
|
///// <summary>
|
///// 上传文件模板(doc、docx)
|
///// </summary>
|
///// <param name="code">租户唯一标识code</param>
|
///// <param name="formFile">文件</param>
|
///// <returns></returns>
|
//[HttpPost]
|
//public async Task<IActionResult> UploadDocTemplate([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);
|
//}
|
|
/// <summary>
|
/// 上传文件(doc、docx)
|
/// 本地指定路径
|
/// </summary>
|
/// <returns></returns>
|
[HttpPost]
|
public async Task<IActionResult> UploadDocWithPath([FromForm]string code, [FromForm] string path, IFormFile formFile)
|
{
|
ReturnMsg msg = new ReturnMsg();
|
if (formFile.Length > 0)
|
{
|
msg = await this._uploadService.HandleUploadWordFile(formFile,code,path);
|
}
|
else
|
{
|
msg.error = "请上传文件";
|
}
|
|
return new JsonResult(msg);
|
}
|
|
/// <summary>
|
/// 上传文件(doc、docx)
|
/// </summary>
|
/// <returns></returns>
|
[HttpPost]
|
public async Task<IActionResult> 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);
|
}
|
|
/// <summary>
|
/// 上传图片(jpg、jpeg、png)
|
/// </summary>
|
/// <returns></returns>
|
[HttpPost]
|
public async Task<IActionResult> 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);
|
}
|
|
/// <summary>
|
/// 删除文件
|
/// </summary>
|
/// <param name="delurl"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public IActionResult DeleteFile([FromForm] string[] delurl)
|
{
|
ReturnMsg msg = new ReturnMsg();
|
try
|
{
|
if(delurl!=null && delurl.Length > 0)
|
{
|
var dir = AppDomain.CurrentDomain.BaseDirectory;
|
foreach (var item in delurl)
|
{
|
if (!string.IsNullOrEmpty(item))
|
{
|
var path = dir + item;
|
if (System.IO.File.Exists(path))
|
{
|
System.IO.File.Delete(path);
|
}
|
}
|
}
|
msg.code = 1;
|
}
|
}
|
catch (Exception ex)
|
{
|
NLogProvider.GetInstance().Error(ex);
|
}
|
return new JsonResult(msg);
|
}
|
|
/// <summary>
|
/// 下载文件
|
/// </summary>
|
/// <param name="url"></param>
|
/// <returns></returns>
|
[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();
|
}
|
}
|
}
|