/// <summary> /// 导出二维码地址模式二 /// </summary> /// <param name="model"></param> /// <param name="WebRootPath"></param> /// <returns></returns> public static byte[] ExportTxts(ScanCodeModel model, String WebRootPath) { Int64 region = model.ECode - model.SCode; IList <String> Address = new List <String>(); String Content = String.Empty; String FileName = String.Empty; if (string.IsNullOrEmpty(model.Id)) { model.Id = null; } for (long i = region; i > 0; i--) { var n = GetRandom(); var code = string.Format(Configer.WebHost, model.Id, HttpUtility.UrlEncode(model.CodeHost) + (model.SCode + i) + n) + "," + (model.CodeHost + (model.SCode + i) + n); Address.Add(code); } var ns = GetRandom(); var codes = string.Format(Configer.WebHost, model.Id, HttpUtility.UrlEncode(model.CodeHost) + model.SCode + ns) + "," + ((model.CodeHost + model.SCode) + ns); Address.Add(codes); Content = String.Join("\r\n", Address); FileName = WebRootPath + @"\Template\ScanLink.txt"; using (StreamWriter str = File.CreateText(FileName)) { str.WriteLine(Content); } using (FileStream Fs = new FileStream(FileName, FileMode.Open, FileAccess.Read)) { byte[] bytes = new byte[Fs.Length]; Fs.Read(bytes, 0, (int)Fs.Length); return(bytes); } }
/// <summary> /// 导出二维码地址模式一 /// </summary> /// <param name="model"></param> /// <param name="WebRootPath"></param> /// <returns></returns> public static byte[] ExportTxt(ScanCodeModel model, String WebRootPath) { Int64 region = model.ECode - model.SCode; IList <String> Address = new List <String>(); String Content = String.Empty; String FileName = String.Empty; if (string.IsNullOrEmpty(model.Id)) { model.Id = null; } if (model.CodeHost.Substring(2, 1).Contains("W")) { for (long i = region; i > 0; i--) { Address.Add(string.Format(Configer.WebHost, model.Id, HttpUtility.UrlEncode(model.CodeHost) + (model.SCode + i) + GetRandom())); } Address.Add(string.Format(Configer.WebHost, model.Id, HttpUtility.UrlEncode(model.CodeHost) + model.SCode + GetRandom())); Content = String.Join("\r\n", Address); FileName = WebRootPath + @"\Template\ScanLink.txt"; } else if (model.CodeHost.Substring(2, 1).Contains("P")) { for (long i = region; i > 0; i--) { Address.Add(string.Format(Configer.WebHostClass, model.Id, HttpUtility.UrlEncode(model.CodeHost) + (model.SCode + i) + GetRandom())); } Address.Add(string.Format(Configer.WebHostClass, model.Id, HttpUtility.UrlEncode(model.CodeHost) + model.SCode + GetRandom())); Content = String.Join("\r\n", Address); FileName = WebRootPath + @"\Template\ScanLink.txt"; } else if (model.CodeHost.Substring(2, 1).Contains("B")) { for (long i = region; i > 0; i--) { Address.Add(string.Format(Configer.WebHostBox, model.Id, HttpUtility.UrlEncode(model.CodeHost) + (model.SCode + i) + GetRandom())); } Address.Add(string.Format(Configer.WebHostBox, model.Id, HttpUtility.UrlEncode(model.CodeHost) + model.SCode + GetRandom())); Content = String.Join("\r\n", Address); FileName = WebRootPath + @"\Template\ScanLinkBox.txt"; } else { for (long i = region; i > 0; i--) { Address.Add(string.Format(Configer.WebHostPack, model.Id)); } Address.Add(string.Format(Configer.WebHostPack, model.Id)); Content = String.Join("\r\n", Address); FileName = WebRootPath + @"\Template\ScanLinkPack.txt"; } using (StreamWriter str = File.CreateText(FileName)) { str.WriteLine(Content); } using (FileStream Fs = new FileStream(FileName, FileMode.Open, FileAccess.Read)) { byte[] bytes = new byte[Fs.Length]; Fs.Read(bytes, 0, (int)Fs.Length); return(bytes); } }
public FileResult ExportTxts(ScanCodeModel data) { byte[] bytes = FileUtil.ExportTxts(data, Environment.WebRootPath); return(File(bytes, "text/plain", "二维码链接地址.txt")); }