/// <summary> /// 远程鉴权 /// </summary> /// <returns></returns> public bool AuthRemoteCode() { App.Current.Dispatcher.BeginInvoke(new Action(() => { lblAuthTips.Text = SystemLanguageManager.Instance.ResourceManager.GetString("Authenticating", SystemLanguageManager.Instance.CultureInfo); })); bool authflag = false; var values = new List <KeyValuePair <string, string> >(); string url = ConfigurationManager.AppSettings["AuthUrl"]; // string ukey = ConfigManager.Instance.Config.UKey; // string macaddrss = SystemInfoUtils.GetMacAddress(); string type = "facebook"; TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); long t = Convert.ToInt64(ts.TotalSeconds); string key = ConfigVals.AccessKey.Substring(8, 20); if (macaddrss == "" || key == "") { return(authflag); } MD5 md5 = new MD5CryptoServiceProvider(); byte[] result = Encoding.Default.GetBytes(ukey + macaddrss + type + t.ToString() + key); byte[] bytekey = md5.ComputeHash(result); string token = BitConverter.ToString(bytekey).Replace("-", ""); /*values.Add(new KeyValuePair<string, string>("ukey", ukey)); * values.Add(new KeyValuePair<string, string>("macadd", macaddrss)); * values.Add(new KeyValuePair<string, string>("time", t.ToString())); * values.Add(new KeyValuePair<string, string>("token", token));*/ HttpClientHelp httpClient = new HttpClientHelp(); var obj = new JObject() { { "ukey", ukey }, { "macadd", macaddrss }, { "type", type }, { "time", t.ToString() }, { "token", token.ToLower() } }; authflag = httpClient.PostFunction(url, obj.ToString(Formatting.None), macaddrss, key, ukey); return(authflag); }
public static string postFile(string apiPath, Dictionary <string, string> par, byte[] bFile, string fileName) { par = fillSign(par); string parUrl = ""; foreach (var item in par) { parUrl = parUrl + item.Key + "=" + MyEncoding.UrlEncode(item.Value) + "&"; } parUrl = parUrl.TrimEnd('&'); if (parUrl != "") { parUrl = "?" + parUrl; } return(HttpClientHelp.PostFile(AppHelp.basrUrl + apiPath + parUrl, bFile, fileName)); }
/// <summary> /// 远程鉴权 /// </summary> /// <returns></returns> public bool AuthRemoteCode() { lab_authmsg.Text = "远程鉴权中……"; bool authflag = false; var values = new List <KeyValuePair <string, string> >(); string url = ConfigurationManager.AppSettings["AuthUrl"];; // string ukey = ConfigurationManager.AppSettings["UKey"];; // string macaddrss = SystemInfoUtils.GetMacAddress(); TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); long t = Convert.ToInt64(ts.TotalSeconds); string key = ConfigVals.AccessKey.Substring(8, 20); if (macaddrss == "" || key == "") { return(authflag); } MD5 md5 = new MD5CryptoServiceProvider(); byte[] result = Encoding.Default.GetBytes(ukey + macaddrss + t.ToString() + key); byte[] bytekey = md5.ComputeHash(result); string token = BitConverter.ToString(bytekey).Replace("-", ""); /*values.Add(new KeyValuePair<string, string>("ukey", ukey)); * values.Add(new KeyValuePair<string, string>("macadd", macaddrss)); * values.Add(new KeyValuePair<string, string>("time", t.ToString())); * values.Add(new KeyValuePair<string, string>("token", token));*/ HttpClientHelp httpClient = new HttpClientHelp(); var obj = new JObject() { { "ukey", ukey }, { "macadd", macaddrss }, { "time", t.ToString() }, { "token", token.ToLower() } }; authflag = httpClient.PostFunction(url, obj.ToString(Formatting.None)); return(authflag); }
public static byte[] getFile(string apiPath, Dictionary <string, string> par) { return(HttpClientHelp.GetFile(AppHelp.basrUrl + apiPath, fillSign(par))); }
public static string post(string apiPath, Dictionary <string, string> par) { return(HttpClientHelp.Post(AppHelp.basrUrl + apiPath, fillSign(par))); }
public async Task <IActionResult> Upload(FileUploadDto dto) { ResposeResult result = new ResposeResult(); if (dto.Type == 0) { return(Ok(result)); } FileModel fileModel = new FileModel(); string filePath = string.Empty; string webRootPath = _webHostEnvironment.WebRootPath; //获取wwwroot文件夹 string fileDir = $"{webRootPath}/upload/{DateTime.Now.ToShortDateString()}"; //文件目录 E:/upload/2020-06-20/ try { if (!Directory.Exists(fileDir)) { Directory.CreateDirectory(fileDir); } if (dto.Type == 1) { IFormFile file = dto.File; string fileExt = Path.GetExtension(file.FileName); //文件扩展名,不含“.” if (string.IsNullOrEmpty(fileExt)) { result.Msg = "找不到文件扩展名"; return(Ok(result)); } string newFileName = System.Guid.NewGuid().ToString() + "." + fileExt; //随机生成新的文件名 filePath = $"{fileDir}/{newFileName}"; //文件路径 //通过文件流的方式保存文件 using (var stream = new FileStream(filePath, FileMode.Create)) { await file.CopyToAsync(stream); } } else if (dto.Type == 2) { Stream fromFile = await HttpClientHelp.Download(dto.Url, HttpMethod.Get); string fileExt = Path.GetExtension(dto.Url); //文件扩展名 if (string.IsNullOrEmpty(fileExt)) { fileExt = "jpg"; //result.Msg = "找不到文件扩展名"; //return Ok(result); } string newFileName = System.Guid.NewGuid().ToString() + fileExt; //随机生成新的文件名 //已追加的方式 写入文件流 filePath = $"{fileDir}/{newFileName}";//文件路径 FileHelp.CopyFile(fromFile, filePath, 1024 * 1024); } } catch (Exception e) { if (System.IO.File.Exists(filePath)) { System.IO.File.Delete(filePath); } result.Msg = e.Message; return(Ok(result)); } result.IsSuccess = true; result.Code = HttpStatusCode.Created; fileModel.AbsolutePath = filePath; fileModel.VirtualPath = filePath.Replace(webRootPath, ""); result.Data = fileModel; return(Ok(result)); }