Exemplo n.º 1
0
        /// <summary>
        /// Returns the values to send with a form submission for this form element
        /// </summary>
        /// <param name="isClickedElement">A value indicating whether the clicking of this element caused the form submission.</param>
        /// <returns>An empty collection of <see cref="UserVariableEntry"/></returns>
        public override IEnumerable <UserVariableEntry> ValuesToSubmit(bool isClickedElement, bool validate)
        {
            string filename    = string.Empty;
            string extension   = string.Empty;
            string contentType = string.Empty;

            if (File.Exists(this.Value))
            {
                // Todo: create a mime type for extensions
                filename = this.Value;
                byte[] allBytes = allBytes = File.ReadAllBytes(filename);

                FileInfo fileInfo = new FileInfo(filename);
                extension = fileInfo.Extension;
                filename  = fileInfo.Name;

                contentType = string.Format(
                    "Content-Type: {0}\r\nContent-Transfer-Encoding: binary\r\n\r\n{1}",
                    ApacheMimeTypes.MimeForExtension(extension),
                    Encoding.GetEncoding(28591).GetString(allBytes));
            }
            else
            {
                contentType = string.Format(
                    "Content-Type: {0}\r\n\r\n\r\n",
                    ApacheMimeTypes.MimeForExtension(extension));
            }

            yield return(new UserVariableEntry()
            {
                Name = filename, Value = contentType
            });
        }
Exemplo n.º 2
0
        public string GetPostData()
        {
            string filename = this.Value;

            if (File.Exists(filename))
            {
                // Todo: create a mime type for extensions
                string extension   = new FileInfo(filename).Extension;
                string contentType = String.Format("Content-Type: {0}\nContent-Transfer-Encoding: binary\n\n",
                                                   ApacheMimeTypes.MimeForExtension(extension));
                byte[] allBytes = File.ReadAllBytes(filename);
                return(contentType + Encoding.GetEncoding(28591).GetString(allBytes));
            }
            return("");
        }