苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 6630|回复: 5

[求助] 如何使用 HttpHelper 来上传图片??

[复制链接]
发表于 2013-8-28 16:09:42 | 显示全部楼层 |阅读模式
本帖最后由 tuichu 于 2013-8-28 16:13 编辑

第一种:
[code=csharp]item = new HttpItem()
                {
                    URL = "",//URL     必需项
                    Referer = "",
                    Method = "post",//URL     可选项 默认为Get
                    PostDataType = DotNet.Utilities.PostDataType.FilePath,
                    Encoding = Encoding.UTF8,
                    Postdata = Server.MapPath("1.jpg"),
                    ContentType = "application/x-www-form-urlencoded",
                    Cookie = cookie
      };[/code]


第二种:

[code=csharp]HttpPostedFile postfile = FileUpload1.PostedFile;
                Byte[] buffer = new Byte[postfile.InputStream.Length];
                postfile.InputStream.Read(buffer, 0, Convert.ToInt32(postfile.InputStream.Length));
                item = new HttpItem()
                {
                    URL = "",//URL     必需项
                    Referer = "",
                    Method = "post",//URL     可选项 默认为Get
                    PostDataType = DotNet.Utilities.PostDataType.Byte,
                    Encoding = Encoding.UTF8,
                    PostdataByte = buffer,
                    ContentType = "application/x-www-form-urlencoded",
                    Cookie = cookie
                };
                result = http.GetHtml(item);[/code]


两种方式均失败,请大神门赐教


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2013-8-28 16:11:10 | 显示全部楼层
ContentType = " multipart/form-data"   换成这个也是失败。。
发表于 2013-8-28 16:53:12 | 显示全部楼层
上传失败是什么原因呢,比较提示什么,是你服务端接收不了,还是接收之后转化时报什么错,只有请求端的代码无法判断问题吧

而且你取字节的方法也有问题,
应该是这样写吧
                HttpPostedFile postfile = FileUpload1.PostedFile;
                byte[] buffer = ((MemoryStream)postfile.InputStream).ToArray();
你那样写会把图片损坏的,
关于这个问题可以参考我的文章
http://www.sufeinet.com/forum.ph ... hlight=%C9%CF%B4%AB
还是提供下错误信息吧
 楼主| 发表于 2013-8-28 17:04:15 | 显示全部楼层
我是想一个服务器提交头像,返回的结构就是 上传失败,所以我也很难知道原因

再有就是如果改成    byte[] buffer = ((MemoryStream)postfile.InputStream).ToArray();  会抛出异常
QQ截图20130828170326.png
发表于 2013-8-28 17:13:10 | 显示全部楼层
这样的话你就提供一下Post的包信息,就是你抓到的包信息,看看再说
 楼主| 发表于 2013-8-28 20:12:02 | 显示全部楼层
站长苏飞 发表于 2013-8-28 17:13
这样的话你就提供一下Post的包信息,就是你抓到的包信息,看看再说

QQ截图20130828201122.jpg
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-12-23 19:01

© 2014-2021

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