public object Post(MultipartDataFile data)
        {
            HttpContext.Current.Response.Headers["X-contenttype"] = HttpContext.Current.Request.Headers["Content-Type"];
              byte[] rawData = new byte[50];
              int length = data.DataFile.OpenStream().Read(rawData, 0, 10);

              string base64Data = Convert.ToBase64String(rawData, 0, length);
              return string.Format("{0}-{1}-{2}-{3}", data.DataFile.FileName, data.DataFile.ContentType, base64Data, data.Age);
        }
Beispiel #2
0
        public object Post(MultipartDataFile data)
        {
            HttpContext.Current.Response.Headers["X-contenttype"] = HttpContext.Current.Request.Headers["Content-Type"];
            byte[] rawData = new byte[50];
            int    length  = data.DataFile.OpenStream().Read(rawData, 0, 10);

            string base64Data = Convert.ToBase64String(rawData, 0, length);

            return(string.Format("{0}-{1}-{2}-{3}", data.DataFile.FileName, data.DataFile.ContentType, base64Data, data.Age));
        }
        public void CanPostMultipartFormDataWithBinaryFile()
        {
            // Arrange
              IFile file = new File("..\\..\\data1.gif", "image/gif");
              MultipartDataFile data = new MultipartDataFile { DataFile = file, Age = 99 };
              Request formdataReq = Session.Bind(MultipartFormDataFileTemplate);

              // Act
              Response<string> response = formdataReq.Accept("text/plain").ContentType("multipart/form-data").Post<string>(data);

              // Assert
              Assert.IsTrue(response.Headers["x-contenttype"].StartsWith("multipart/form-data"));
              Assert.AreEqual("data1.gif-image/gif-R0lGODlhAgACAA==-99", response.Body);
        }
        public void CanPostMultipartFormDataWithBinaryFile()
        {
            // Arrange
            IFile             file = new File("..\\..\\data1.gif", "image/gif");
            MultipartDataFile data = new MultipartDataFile {
                DataFile = file, Age = 99
            };
            Request formdataReq = Session.Bind(MultipartFormDataFileTemplate);

            // Act
            Response <string> response = formdataReq.Accept("text/plain").ContentType("multipart/form-data").Post <string>(data);

            // Assert
            Assert.IsTrue(response.Headers["x-contenttype"].StartsWith("multipart/form-data"));
            Assert.AreEqual("data1.gif-image/gif-R0lGODlhAgACAA==-99", response.Body);
        }
        public void CanPostMultipartFormDataWithSpecialFilename_ItMustReplaceSpecialCharsWithX()
        {
            // Arrange
            IFile             file = new FileWithSpecialName("..\\..\\data1.txt", "Bøllefrø.txt");
            MultipartDataFile data = new MultipartDataFile {
                DataFile = file, Age = 10
            };
            Request formdataReq = Session.Bind(MultipartFormDataFileTemplate);

            // Act
            Response <string> response = formdataReq.Accept("text/plain").ContentType("multipart/form-data").Post <string>(data);

            // Assert
            Assert.IsTrue(response.Headers["x-contenttype"].StartsWith("multipart/form-data"));
            Assert.AreEqual("Bxllefrx.txt-text/plain-w4bDvMOuwrRgJw==-10", response.Body);
        }
        public void CanPostMultipartFormDataWithFile()
        {
            // Arrange
              IFile file = new File("..\\..\\data1.txt");
              MultipartDataFile data = new MultipartDataFile { DataFile = file, Age = 10 };
              Request formdataReq = Session.Bind(MultipartFormDataFileTemplate);

              // Act
              Response<string> response = formdataReq.Accept("text/plain")
                                             .ContentType("multipart/form-data")
                                             .Post<string>(data);

              // Assert
              Assert.IsTrue(response.Headers["x-contenttype"].StartsWith("multipart/form-data"));
              Assert.AreEqual("data1.txt-text/plain-w4bDvMOuwrRgJw==-10", response.Body);
        }
        public void CanPostMultipartFormDataWithFilenameContainingQuotes()
        {
            // Arrange
            IFile             file = new FileWithSpecialName("..\\..\\data1.txt", "B\"all\"e.txt");
            MultipartDataFile data = new MultipartDataFile {
                DataFile = file, Age = 10
            };
            Request formdataReq = Session.Bind(MultipartFormDataFileTemplate);

            // Act
            using (Response <string> response = formdataReq.Accept("text/plain").ContentType("multipart/form-data").Post <string>(data))
            {
                // Assert
                Assert.IsTrue(response.Headers["x-contenttype"].StartsWith("multipart/form-data"));

                // This is the correct result, but not what OpenRasta returns currently.
                //Assert.AreEqual("B\"all\"e.txt/plain-w4bDvMOuwrRgJw==-10", response.Body);
            }
        }