http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 6408|回复: 3

[咨询站长] post上传图片加参数请求

[复制链接]
发表于 2015-3-20 11:01:37 | 显示全部楼层 |阅读模式
1金钱

            String fileToUpload = "f://testDown.gif";
            String uploadUrl = "http://cloud.ibinfen.com/app/index.php";
            //uploadUrl = "http://cloud.ibinfen.com/app/index.php?unit_id=2";
            String fileFormName = "file";
            String contenttype = "image/jpg";
            string boundary = "----------" + DateTime.Now.Ticks.ToString("x");


            HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(uploadUrl);
            webrequest.ContentType = "multipart/form-data; boundary=" + boundary;
            webrequest.Method = "post";

            StringBuilder sb = new StringBuilder();
            sb.Append("--");
            sb.Append(boundary);
            sb.Append("\r\n");
            sb.Append("Content-Disposition: form-data; name=\"");
            sb.Append(fileFormName);
            sb.Append("\"; filename=\"");
            sb.Append(System.IO.Path.GetFileName(fileToUpload));
            sb.Append("\"");
            sb.Append("\r\n");
            sb.Append("Content-Type: ");
            sb.Append(contenttype);
            sb.Append("\r\n");
            sb.Append("\r\n");
            string postHeader = sb.ToString();

           byte[] postHeaderBytes = Encoding.UTF8.GetBytes(postHeader);
            byte[] boundaryBytes = Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");
            FileStream fileStream = new FileStream(fileToUpload, FileMode.Open, FileAccess.Read);
            long length = postHeaderBytes.Length+ fileStream.Length + boundaryBytes.Length;
            webrequest.ContentLength = length;
            Stream requestStream = webrequest.GetRequestStream();
            requestStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);
            MessageBox.Show(webrequest.Headers.ToString());

            byte[] buffer = new Byte[(int)fileStream.Length];
            int bytesRead = 0;
            while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
            requestStream.Write(buffer, 0, bytesRead);
            requestStream.Write(boundaryBytes, 0, boundaryBytes.Length);

            requestStream.Close();

            WebResponse webRespon = webrequest.GetResponse();
            Stream s = webRespon.GetResponseStream();
            StreamReader sr = new StreamReader(s);
            //读取服务器端返回的消息
            String sReturnString = sr.ReadToEnd();
            MessageBox.Show(sReturnString);
这是我上传图片的一个demo 我这边需要上传图片的时候 加个 参数 "unit_id=1",我应该把这个参数放到哪里呢  是头信息还是直接压到数据流里面? 试了好多次都不成功, 求大神帮助!!!!!!!!!!!!!!!!!!!!!!!!!!11

最佳答案

查看完整内容

直接在Url里加就行了


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2015-3-20 11:01:38 | 显示全部楼层
直接在Url里加就行了
回复

使用道具 举报

 楼主| 发表于 2015-3-20 11:04:00 | 显示全部楼层
额 昨天好像发过了- -
回复

使用道具 举报

 楼主| 发表于 2015-3-20 15:48:12 | 显示全部楼层
站长苏飞 发表于 2015-3-20 11:01
直接在Url里加就行了

嗯  就是这样子搞了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-24 11:25

© 2014-2021

快速回复 返回顶部 返回列表