winform中进行post上传文件

本文详细介绍了使用WinForm通过POST请求将文件上传至远程服务器的过程,包括设置请求参数、实现文件读取和上传、以及响应处理。重点在于HTTP协议的应用,适合Windows应用程序开发者。

winform中要上传文件到远程的服务器上面,我在本地用的是post方式传递数据,用的是HTTP协议,具体代码如下:
下面的代码就是一个上传的方法,参数需要路径和文件路径就可以了,我本地winform只需要提交post请求就可以了,止于对于post请求如何处理,那就是远程服务端的事情了。

        private string uploadFile(string uriAddress, string uploadfilePath)
        {
            HxSpecCore.SpectrumSet ss = new SpectrumSet();
            try
            {
                // 设置提交的相关参数 
                HttpWebRequest request = WebRequest.Create(uriAddress) as HttpWebRequest;
                Encoding myEncoding = Encoding.UTF8;
                request.Method = "POST";
                WebHeaderCollection headers = request.Headers;


                //提交请求数据
                FileInfo fi = new FileInfo(uploadfilePath);
                FileStream fs = new FileStream(uploadfilePath, FileMode.Open, FileAccess.Read);
                byte[] postData = new byte[(int)fs.Length];
                request.Headers.Set("md5data", Convert.ToBase64String(GetMD5(Convert.ToBase64String(GetMD5(Encoding.Default.GetString(postData))) )));
                fs.Read(postData, 0, Convert.ToInt32(fs.Length));
                fs.Close();
                System.IO.Stream outputStream = request.GetRequestStream();
                outputStream.Write(postData, 0, postData.Length);
                outputStream.Close();
                HttpWebResponse response;
                Stream responseStream;
                response = request.GetResponse() as HttpWebResponse;
                responseStream = response.GetResponseStream();
                System.IO.StreamReader reader = new System.IO.StreamReader(responseStream, Encoding.GetEncoding("UTF-8"));
                string result = reader.ReadToEnd();
                reader.Close();
                return result;
            }
            catch (Exception ex)
            {
                return " ";
            }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值