using Common.system; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace XHWK.WKTool.DAL { /// /// 上传相关方法 /// 创建人:赵耀 /// 创建时间:2020年9月4日 /// public class DAL_Upload { string APIRequestAddress = FileToolsCommon.GetConfigValue("APIRequestAddress"); string FileRequestAddress = FileToolsCommon.GetConfigValue("FileRequestAddress"); string schoolfileRequestAddress = FileToolsCommon.GetConfigValue("schoolfileRequestAddress"); /// /// 文件是否允许上传 /// /// MD5 /// 错误消息 /// public bool IsAllowUploaded(string MD5, out string Message) { Exception ex = null; Message = "";//请求重试5次 共5秒 for (int num = 0; num < 5; num++) { try { JObject jo = HttpHelper.PostFunction(FileRequestAddress + @"/chunkdb/isexist", @"application/x-www-form-urlencoded", @"md5=" + MD5, ""); //0成功,1失败 if(jo["code"].ToString()=="0") { if (string.IsNullOrWhiteSpace(jo["obj"].ToString())) { //不存在 允许上传 return true; } else { //已存在 不允许上传 return false; } } else { Message=jo["msg"].ToString(); return false; } } catch (Exception e) { Message = e.Message; ex = e; Thread.Sleep(1000); } } string ErrMessage = "【文件是否存在】(IsUploaded):请求失败。" + Message; LogHelper.WriteErrLog(ErrMessage, ex); return false; } /// /// 上报文件合并指令 /// /// 保存文件位置 学校id/resource /// 文件唯一编号 Guid /// 错误信息 /// public bool ReportFileMerge(string Savefolder,string FileCode, out string Message) { Exception ex = null; Message = "";//请求重试5次 共5秒 for (int num = 0; num < 5; num++) { try { JObject jo = HttpHelper.PostFunction(FileRequestAddress + @"/chunkdb/mergechunk", @"application/x-www-form-urlencoded", @"savefolder=" + Savefolder+ "&identifier="+ FileCode, ""); //0成功,1失败 if (jo["code"].ToString() == "0") { return true; } else { Message = jo["msg"].ToString(); return false; } } catch (Exception e) { Message = e.Message; ex = e; Thread.Sleep(1000); } } string ErrMessage = "【上报合并文件】(ReportFileMerge):请求失败。" + Message; LogHelper.WriteErrLog(ErrMessage, ex); return false; } } }