Http请求数据上传图片到服务器

  private void InitHttp()
        {
string filePath = strPath + "\\test1.png";
                string fileName = strPath + "\\test1.png";
                pro.Tiaoma = Regex.Replace(pro.Tiaoma, "\r\n", string.Empty);
                Uri uri = new Uri("http://153.37.217.112:60003/stock/interface/saveInfo.do?code=" "");
                HttpWebRequest req = HttpWebRequest.CreateHttp(uri);
                req.Method = "POST";
                if (isClick == true)
                {
                    var boundary = "---------------" + DateTime.Now.Ticks.ToString("x");
                    var beginBoundary = Encoding.ASCII.GetBytes("--" + boundary + "\r\n");
                    var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);


                    // 最后的结束符  
                    var endBoundary = Encoding.ASCII.GetBytes("--" + boundary + "--\r\n");


                    // 文件参数头  
                    const string filePartHeader =
                        "Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\n" +
                         "Content-Type: application/octet-stream\r\n\r\n";
                    var fileHeader = string.Format(filePartHeader, "files", fileName);
                    var fileHeaderBytes = Encoding.UTF8.GetBytes(fileHeader);


                    // 开始拼数据  
                    var memStream = new MemoryStream();
                    memStream.Write(beginBoundary, 0, beginBoundary.Length);


                    // 文件数据  
                    memStream.Write(fileHeaderBytes, 0, fileHeaderBytes.Length);
                    var buffer = new byte[1024];
                    int bytesRead; // =0  
                    while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
                    {
                        memStream.Write(buffer, 0, bytesRead);
                    }
                    fileStream.Close();


                    // Key-Value数据  
                    var stringKeyHeader = "\r\n--" + boundary +
                                           "\r\nContent-Disposition: form-data; name=\"{0}\"" +
                                           "\r\n\r\n{1}\r\n";


                    Dictionary<string, string> stringDict = new Dictionary<string, string>();
                    stringDict.Add("len", "500");
                    stringDict.Add("wid", "300");
                    foreach (byte[] formitembytes in from string key in stringDict.Keys
                                                     select string.Format(stringKeyHeader, key, stringDict[key])
                                                         into formitem
                                                     select Encoding.UTF8.GetBytes(formitem))
                    {
                        memStream.Write(formitembytes, 0, formitembytes.Length);
                    }


                    // 写入最后的结束边界符  
                    memStream.Write(endBoundary, 0, endBoundary.Length);


                    //倒腾到tempBuffer?  
                    memStream.Position = 0;
                    var tempBuffer = new byte[memStream.Length];
                    memStream.Read(tempBuffer, 0, tempBuffer.Length);
                    memStream.Close();


                    req.Timeout = 100000;
                    req.ContentType = "multipart/form-data;boundary=" + boundary;
                    req.ContentLength = tempBuffer.Length;
                    var requestStream = req.GetRequestStream();
                    requestStream.Write(tempBuffer, 0, tempBuffer.Length);
                    requestStream.Close();
                }
                WebResponse resp = req.GetResponse();
                StreamReader sr = new StreamReader(resp.GetResponseStream(), Encoding.Default);
                string sReturn = sr.ReadToEnd().Trim()

        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将数据到本地服务器,您需要完成以下步骤: 1. 在本地服务器上搭建一个Web服务器,例如Apache或Nginx。 2. 将数据到Web服务器的根目录或其他指定目录中。 3. 通过HTTP协议访问Web服务器,将数据从客户端上服务器。 具体步骤如下: 1. 搭建Web服务器 如果您使用的是Windows操作系统,可以使用XAMPP、WAMP或EasyPHP等集成的服务器软件来搭建Web服务器。如果您使用的是Linux操作系统,可以使用Apache或Nginx等软件来搭建Web服务器。您可以根据自己的需求选择合适的服务器软件。 2. 将数据服务器数据服务器可以使用FTP或SCP等文件输协议,也可以直接使用Web服务器提供的文件上功能。如果您使用的是FTP或SCP等文件输协议,您需要使用FTP客户端或SCP客户端连接服务器,并将数据服务器上。如果您使用的是Web服务器提供的文件上功能,您需要在Web服务器上配置文件上功能,并在客户端使用HTTP协议访问Web服务器,通过表单提交文件数据,将数据服务器上。 3. 通过HTTP协议访问Web服务器 在客户端使用HTTP协议访问Web服务器,可以使用浏览器或HTTP客户端。如果您使用的是浏览器,您可以在地址栏中输入Web服务器的IP地址或域名,并访问Web服务器上的文件。如果您使用的是HTTP客户端,您需要使用HTTP协议发送HTTP请求,并通过HTTP响应获取服务器上的文件数据。您可以使用curl、wget等工具来发送HTTP请求

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值