麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

POST 方式上傳圖片

2019-11-17 01:55:01
字體:
來源:轉載
供稿:網友

POST 方式上傳圖片

Post 方式 模仿 form表單 上傳 圖片 設置enctype = multipart/form-data

<form  enctype="multipart/form-data"></form>

 

自定義 MultipartFormData 類  (4.5以上版本好像有這個類  類名稱叫啥忘記了)

/// <summary>    /// multipart/form-data 數據類型    /// </summary>    public class MultipartFormData    {        public static string ContentType = "multipart/form-data; boundary=A300x";        PRivate string headerStream = "--A300x/r/nContent-Disposition: form-data; name=/"{0}/"; filename=/"{1}/"/r/nContent-Type: application/octet-stream/r/n/r/n";        private string footerString = "--A300x--/r/n";        private string compart = "/r/n";        private string headerString = "--A300x/r/nContent-Disposition: form-data; name=/"{0}/"/r/n/r/n";        private List<byte> lists = new List<byte>();        private byte[] footerBytes;        private byte[] comparts;        public MultipartFormData()        {            footerBytes = Encoding.UTF8.GetBytes(footerString);            comparts = Encoding.UTF8.GetBytes(compart);                   }        public byte[] Buffer        {            get            {                return lists.ToArray();            }        }        private bool IsEnd = false;        /// <summary>        ///        /// </summary>        public void End()        {            if (!IsEnd)            {                IsEnd = true;                //lists.AddRange(footerBytes.ToList());                   this.AddRanges(footerBytes);            }                 }        public void AddRanges(byte[] array) {            foreach (byte b in array)                lists.Add(b);        }        /// <summary>        /// 向序列化到多部/窗體數據 MIME 類型的 對象集合添加 HTTP 內容        /// </summary>        /// <param name="content">要添加到集合中的 HTTP 內容</param>        /// <param name="name">要添加的 HTTP 內容的名稱</param>        public void Add(string content, string name)        {            byte[] headerBytes = Encoding.UTF8.GetBytes(String.Format(headerString, name));            this.AddRanges(headerBytes);            byte[] buffer = Encoding.UTF8.GetBytes(content);            this.AddRanges(buffer);            this.AddRanges(comparts);        }        /// <summary>        /// 向序列化到多部/窗體數據 MIME 類型的 對象集合添加 HTTP 內容        /// </summary>        /// <param name="content">要添加到集合中的 HTTP 內容</param>        /// <param name="name">要添加的 HTTP 內容的名稱</param>        /// <param name="fileName">要添加到集合中的 HTTP 內容的文件名</param>        public void Add(Stream content, string name, string fileName)        {            byte[] headerBytes = Encoding.UTF8.GetBytes(String.Format(headerStream, name, fileName));            this.AddRanges(headerBytes);            byte[] buffer = new byte[content.Length];            content.Read(buffer, 0, buffer.Length);            content.Seek(0, SeekOrigin.Begin);            this.AddRanges(buffer);            this.AddRanges(comparts);        }        /// <summary>        /// 向序列化到多部/窗體數據 MIME 類型的 對象集合添加 HTTP 內容        /// </summary>        /// <param name="content">要添加到集合中的 HTTP 內容</param>        /// <param name="name">要添加的 HTTP 內容的名稱</param>        /// <param name="fileName">要添加到集合中的 HTTP 內容的文件名</param>        public void Add(byte[] content, string name, string fileName)        {            byte[] headerBytes = Encoding.UTF8.GetBytes(String.Format(headerStream, name, fileName));            this.AddRanges(headerBytes);            this.AddRanges(content);            this.AddRanges(comparts);        }    }
 
 
上傳圖片代碼
        /// <summary>        /// form-data 數據類型傳遞數據        /// </summary>        private MultipartFormData multiparFormData = new MultipartFormData();        /// <summary>        /// 鍵值對應        /// </summary>        /// <param name="key"></param>        /// <param name="value"></param>        public void AddFormData(string key, string value)        {            this.multiparFormData.Add(value, key);        }/// <summary>        /// 傳遞一個 strem 類型        /// </summary>        /// <param name="key"></param>        /// <param name="value"></param>        /// <param name="fileName"></param>        public void AddFormData(string key, Stream value, string fileName)        {            this.multiparFormData.Add(value, key, fileName);        }        /// <summary>        /// 傳遞一個 byte[] 類型        /// </summary>        /// <param name="key"></param>        /// <param name="value"></param>        /// <param name="fileName"></param>        public void AddFormData(string key, byte[] value, string fileName)        {            this.multiparFormData.Add(value, key, fileName);        }        private static CookieContainer m_Cookie = new CookieContainer();/// <summary>        /// POST form-data 方式請求消息        /// </summary>        /// <param name="url"></param>        /// <param name="isHttps"></param>        /// <returns></returns>        public string PostFromData(string url, bool isHttps) {            try            {                multiparFormData.End();                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);                request.Method = "POST";                request.ContentType = MultipartFormData.ContentType;                request.CookieContainer = m_Cookie;//設置上一個訪問頁面的cookie 保持session                request.ContentLength = multiparFormData.Buffer.Length;                Stream stream = request.GetRequestStream();                stream.Write(multiparFormData.Buffer, 0, multiparFormData.Buffer.Length);                stream.Close();                WebResponse response = request.GetResponse();                Stream streamResponse = response.GetResponseStream();                StreamReader sr = new StreamReader(streamResponse);                return sr.ReadToEnd();            }            catch (Exception ex) {                Log.WriteLog("POST form-data 方式請求消息:" + ex.Message);                return "error";            }        }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产成年人小视频 | 蜜桃麻豆视频 | a视频在线看 | 国产精品美女久久久免费 | 一边吃奶一边插下面 | 久久草草影视免费网 | 欧美精品免费一区二区三区 | 日韩精品中文字幕在线播放 | 黄色网址免费在线播放 | 欧美一级高清免费 | 久久国产精品二国产精品中国洋人 | 国产精品久久久久久久久久久天堂 | 欧美精品免费一区二区三区 | 日韩黄色一区 | 嫩呦国产一区二区三区av | 精品国产91久久久 | 久久成人在线观看 | 久久久一区二区 | 7m视频成人精品分类 | 免费在线观看成人网 | 国产亚洲小视频 | 欧美一级电影网站 | 毛片免费观看日本中文 | 成人9禁啪啪无遮挡免费 | 黄色片免费在线播放 | 国产精品视频yy9299一区 | 精品久久久久久久久久久久久 | 草莓视频在线导航 | 农村少妇吞精夜夜爽视频 | 欧洲精品久久 | 国产伦乱视频 | 久草视频福利在线观看 | 欧美在线中文字幕 | 蜜桃视频最新网址 | 成人免费毛片一 | 久久亚洲精品久久国产一区二区 | 欧美性猛交xxx乱大交3蜜桃 | sesee99| 精品国产91久久久 | 激情在线观看视频 | 麻豆视频在线播放 |