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);
        }
Beispiel #4
0
        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());
            }
        }