public HttpResponseMessage DownloadFile(string url) { var browser = String.Empty; if (HttpContext.Current.Request.UserAgent != null) { browser = HttpContext.Current.Request.UserAgent.ToUpper(); } //路径解密 url = EncryptHelper.AES_Decrypt(url).Replace(" ", "+"); string filePath = AppDomain.CurrentDomain.BaseDirectory + url; //string filePath = url; HttpResponseMessage httpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK); FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); httpResponseMessage.Content = new StreamContent(fileStream); httpResponseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); httpResponseMessage.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = browser.Contains("FIREFOX") ? Path.GetFileName(filePath) : HttpUtility.UrlEncode(Path.GetFileName(filePath)) //FileName = HttpUtility.UrlEncode(Path.GetFileName(filePath)) }; return(httpResponseMessage); }
/// <summary> /// 解密并下载 /// </summary> /// <param name="urlContent"></param> /// <returns></returns> public ReturnValueModel GetDownLoadDecryptUrl(string urlContent) { ReturnValueModel rvm = new ReturnValueModel(); rvm.Result = new { rows = new { urlContent = EncryptHelper.AES_Decrypt(urlContent) } }; return(rvm); }
public BaseResponse <string> AESDecrypt(string text, string key) { var result = new BaseResponse <string>(); try { if (string.IsNullOrEmpty(text) || string.IsNullOrEmpty(key)) { result.Code = -1; result.Message = string.Format("入参信息不可为空"); return(result); } result.Data = EncryptHelper.AES_Decrypt(text, key); result.Message = string.Format("操作成功"); } catch (Exception ex) { result.Code = -9; result.Message = string.Format("AESDecrypt异常:{0}", ex.Message); } return(result); }
public static TokenClaims ConvertStringToTokenClaims(string token) { try { token = EncryptHelper.AES_Decrypt(token); string[] tokenarr = token.Split('|'); TokenClaims tkClaims = new TokenClaims(); tkClaims.UserKey = tokenarr[0]; try { tkClaims.LastTime = DateTime.Parse(tokenarr[1]); } catch { tkClaims.LastTime = new DateTime(2500, 1, 1); } return(tkClaims); } catch (Exception ex) { throw new Exception("token格式不正确" + ex.ToString()); } }