private FormDataCollection StringToFormDataCollection(string firebugCopyText) { // 将 FireBug中复制的文本,转变成提交数据 string[] lines = firebugCopyText.SplitTrim('\r', '\n'); //if( lines.Length == 0 || lines.Length % 2 != 0 ) // throw new ArgumentException("无效的输入数据:firebugCopyText"); FormDataCollection collection = new FormDataCollection(); foreach (string line in lines) { string[] nn = line.SplitTrim('='); if (nn.Length == 2 && nn[1].Length > 0) { collection.AddString(nn[0], nn[1]); } else { collection.AddString(nn[0], string.Empty); } } return(collection); }
public string GetMenuLink(string dataFlag, int?page = null) { FormDataCollection form = new FormDataCollection(); form.AddString("id", this.Branch.Id.ToString()) .AddString("day", this.Today) .AddString("flag", dataFlag); if (page.HasValue) { form.AddString("page", page.Value.ToString()); } return("/ajax/scan/Result/ShowScanResult.ppx?" + form.ToString()); }
public string GetNextLink() { FormDataCollection form = new FormDataCollection(); form.AddString("id", this.BranchId.ToString()) .AddString("day", this.Today) .AddString("flag", this.DataFlag) .AddString("page", (PageIndex.GetValueOrDefault() + 1).ToString()); return("/ajax/scan/Result/ShowScanResult.ppx?" + form.ToString()); }
public string GetSortLink(string sortField) { FormDataCollection form = new FormDataCollection(); form.AddString("id", this.BranchId.ToString()) .AddString("day", this.Today) .AddString("flag", this.DataFlag) .AddString("sort", sortField); return("/ajax/scan/Result/ShowScanResult.ppx?" + form.ToString()); }
public void Test_FormDataCollection_AddObject() { FormDataCollection form = new FormDataCollection(); form.AddObject("a", 1); form.AddObject("b", 2); form.AddObject("c", "xyz中文汉字"); form.AddString("c", "789"); string actual = form.ToString(); Console.WriteLine(actual); Assert.AreEqual("a=1&b=2&c=xyz%e4%b8%ad%e6%96%87%e6%b1%89%e5%ad%97&c=789", actual); }
public void Test_FormDataCollection_AddObject_bytes() { FormDataCollection form = new FormDataCollection(); form.AddObject("a", new byte[] { 1, 2, 3, 4, 5 }); form.AddString("b", "xyz中文汉字"); string actual = null; using (MemoryStream ms = new MemoryStream()) { form.WriteToStream(ms, Encoding.UTF8); ms.Position = 0; byte[] buffer = ms.ToArray(); actual = Encoding.UTF8.GetString(buffer); } Assert.IsFalse(form.HasFile); Assert.AreEqual("a=AQIDBAU%3d&b=xyz%e4%b8%ad%e6%96%87%e6%b1%89%e5%ad%97", actual); }
public void Test_FormDataCollection_AddObject_File() { string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Test_FormDataCollection_AddObject_bytes.txt"); RetryFile.WriteAllText(filePath, "不能直接重载 -= 运算符", Encoding.UTF8); FormDataCollection form = new FormDataCollection(); form.AddObject("a", new byte[] { 1, 2, 3, 4, 5 }); form.AddString("b", "xyz中文汉字"); form.AddObject("c", new FileInfo(filePath)); form.AddObject("d", new HttpFile { FileName = "c:\\test1.dat", FileBody = Encoding.UTF8.GetBytes("XML 的输出文件,由编译的源代码文件中的注释填充") }); string md5 = null; using (MemoryStream ms = new MemoryStream()) { form.WriteToStream(ms, Encoding.UTF8); ms.Position = 0; byte[] buffer = ms.ToArray(); string s = Encoding.UTF8.GetString(buffer); Console.WriteLine(s); // byte 数组太难写断言,所以就计算 MD5 来比较 byte[] bb = (new MD5CryptoServiceProvider()).ComputeHash(buffer); md5 = bb.ToHexString().ToLower(); } Assert.IsTrue(form.HasFile); Assert.AreEqual("fbf3628c4d1415ace6e56084d3edcc18", md5); }