首页/技术分享

二次开发教程:HttpWebRequest&&multipart/form-data

发布于:2019-07-24 16:25:35
4053人 分享

class Program

    {

        static void Main(string[] args)

        {

 

            HttpWebRequest request = WebRequest.CreateHttp("********");

            request.Method = WebRequestMethods.Http.Post;

 

            var sp = Encoding.UTF8.GetBytes("-----------------------------7e33352f1074\r\n");

            var end = Encoding.UTF8.GetBytes("\r\n-----------------------------7e33352f1074--");

 

            request.ContentType = "multipart/form-data; boundary=---------------------------7e33352f1074";

 

            var rq =  request.GetRequestStream();

 

            rq.Write(sp, 0, sp.Length);

 

            var dataHeader = GetKeyValueHeader("name", "value");

            rq.Write(dataHeader, 0, dataHeader.Length);

 

            rq.Write(sp, 0, sp.Length);

            var filePath = @"****";

 

            dataHeader = GetFileHeader("file", filePath);

            rq.Write(dataHeader, 0, dataHeader.Length);

            var fileData = File.ReadAllBytes(filePath);

            rq.Write(fileData, 0, fileData.Length);

 

            rq.Write(end, 0, end.Length);

            rq.Close();

 

            var rs = request.GetResponse();

        }

 

        private static byte[] GetKeyValueHeader(string name, string value)

        {

            string str = $"Content-Disposition: form-data; name=\"{name}\"\r\n\r\n{value}\r\n";

            return Encoding.UTF8.GetBytes(str);

        }

 

        private static byte[] GetFileHeader(string name, string fileName)

        {

            string str = $"Content-Disposition: form-data; name=\"{name}\"; filename=\"{fileName}\"\r\n" +

                "Content-Type: application/octet-stream\r\n\r\n";

            return Encoding.UTF8.GetBytes(str);

        }

 

}

转载请注明来源本文地址:https://www.tuituisoft/blog/3165.html

上一篇:

revit初学心得之室内两跑楼梯的绘制

下一篇:

二次开发教程:ef 查询相关数据