using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.Description;
using Newtonsoft.Json;
using HZQR.Common;
namespace CodeBuilderApi.Controllers
{
///
/// 文件操作相关接口
///
public class FileController : BaseController
{
#region 方法 -> 保存文件
///
/// 保存文件
///
/// 保存文件入参模型
///
[Route("File/SaveFile")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult SaveFile(Model.FileParamsModel FileParams)
{
string Parameter = "入参信息:" + JsonConvert.SerializeObject(FileParams);
try
{
string resMsg = "";
bool Flag = CommonHelper.SaveFile(FileParams.fileDir, FileParams.fileName, FileParams.fileText, ref resMsg, FileParams.postUrl);
if (Flag)
{
return Ok(Method.Common.ReturnJson(100, "操作成功"));
}
return Ok(Method.Common.ReturnJson(999, "保存失败!" + resMsg));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "保存失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetSaveFile");
return Ok(Method.Common.ReturnJson(999, "保存失败!" + ex.Message));
}
}
#endregion
#region 方法 -> 复制文件夹
///
/// 复制文件夹
///
/// 原文件夹路径
/// 目标文件夹路径
/// 是否覆盖目标文件
///
[Route("File/CopyFilesAndDirs")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult CopyFilesAndDirs(string srcDir, string destDir, bool CoverFile)
{
string Parameter = "入参信息:" + srcDir + "," + destDir + "," + CoverFile + "";
try
{
CommonHelper.CopyFilesAndDirs(srcDir, destDir, CoverFile);
return Ok(Method.Common.ReturnJson(100, "操作成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "复制失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_CopyFilesAndDirs");
return Ok(Method.Common.ReturnJson(999, "复制失败!" + ex.Message));
}
}
#endregion
#region 方法 -> 删除指定服务器下文件
///
/// 删除指定服务器下文件
///
/// 文件入参模型
///
[Route("File/DeleteFile")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult DeleteFile(Model.FileParamsModel FileParams)
{
string Parameter = "入参信息:" + JsonConvert.SerializeObject(FileParams);
try
{
string resMsg = "";
bool Flag = CommonHelper.DeleteFile(FileParams.fileDir, FileParams.fileName,
FileParams.fileText, ref resMsg, FileParams.postUrl);
if (Flag)
{
return Ok(Method.Common.ReturnJson(100, "操作成功"));
}
return Ok(Method.Common.ReturnJson(999, "删除失败!" + resMsg));
}
catch (Exception ex)
{
transaction.Rollback();
LogUtil.WriteLog(null, "删除失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_DeleteFile");
return Ok(Method.Common.ReturnJson(999, "删除失败!" + ex.Message));
}
}
#endregion
#region 方法 -> 移动指定服务器下文件或文件夹
///
/// 移动指定服务器下文件
///
/// 移动指定服务器下文件或文件夹方法入参模型。
///
[Route("File/MoveFile")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult MoveFile(Model.MoveFileParamsModel MoveFileParams)
{
string Parameter = "入参信息:" + JsonConvert.SerializeObject(MoveFileParams);
try
{
string resMsg = "";
bool Flag = CommonHelper.MoveDirectory(MoveFileParams.fileDir, MoveFileParams.fileName, MoveFileParams.destDir,
MoveFileParams.DestFileName, MoveFileParams.coverDir, ref resMsg, MoveFileParams.postUrl);
if (Flag)
{
return Ok(Method.Common.ReturnJson(100, "操作成功"));
}
return Ok(Method.Common.ReturnJson(999, "移动失败!" + resMsg));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "移动失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_MoveFile");
return Ok(Method.Common.ReturnJson(999, "移动失败!" + ex.Message));
}
}
#endregion
#region 方法 -> 获取文件夹下文件的内容
///
/// 获取文件夹下文件的内容
///
/// 文件路径
///
[Route("File/GetFileContent")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetFileContent(string filePath)
{
string Parameter = "入参信息:文件路径" + filePath;
try
{
//获取文件
List fileList = CommonHelper.GetFileContent(filePath);
return Ok(Models.JsonMsg>.Success(fileList, 100, "获取成功"));
}
catch (Exception ex)
{
transaction.Rollback();
LogUtil.WriteLog(null, "发布失败!获取原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetFileContent");
return Ok(Method.Common.ReturnJson(999, "获取失败" + ex.Message));
}
}
#endregion
#region 方法 -> 重新发布前端页面文件
///
/// 重新发布前端页面文件
///
///
///
[Route("File/RepublishFiles")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult RepublishFiles(Model.FilesParamsModel flies)
{
string Parameter = "入参信息:" + JsonConvert.SerializeObject(flies);
try
{
//保存文件
if (CommonHelper.RepublishFiles(flies))
{
return Ok(Method.Common.ReturnJson(100, "发布成功"));
}
else
{
return Ok(Method.Common.ReturnJson(100, "发布失败"));
}
}
catch (Exception ex)
{
transaction.Rollback();
LogUtil.WriteLog(null, "发布失败!获取原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_RepublishFiles");
return Ok(Method.Common.ReturnJson(999, "发布失败" + ex.Message));
}
}
#endregion
}
}