Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        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());
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }