首页 新闻 赞助 找找看

使用HttpWebRequest POST方法传参数和已经存在的图片流时出错,接收页面是乱码,大家代码哪里错了呢

0
悬赏园豆:50 [已解决问题] 解决于 2013-08-31 18:30

把中转服务器上的一些数据和图片上传到另一台服务器上,结果传参和已经存在的图片输入流 无法传  还是乱码

梦里追逐的主页 梦里追逐 | 初学一级 | 园豆:4
提问于:2013-08-06 16:44
< >
分享
最佳答案
1

呃,参数和图片的数据都混到一起了,其实我想知道的是你是怎么把参数和图片分开解析出来的。

解决方法:图片流卸载request的RequestStream里面,参数使用get方式传递。

收获园豆:25
zhangzl | 菜鸟二级 |园豆:461 | 2013-08-06 17:16
其他回答(3)
0

说实话,没看明白,你是想在 http Content 中既写入text,又写入字节流吗?

收获园豆:10
Launcher | 园豆:45045 (高人七级) | 2013-08-06 16:52

不是,把已经存在的httpcontext 的cur.Request.Files[0].InputStream  写入作为  HttpWebRequest POST的流参数中,在另一台服务器上接收  。结果另一台服务器的httpcontent.currrent.form等都是乱码

支持(0) 反对(0) 梦里追逐 | 园豆:4 (初学一级) | 2013-08-06 17:02

@梦里追逐: 你的 Content-type 要指定为 jpg 之类的。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2013-08-06 17:05

@Launcher: 这样不影响另外的一些参数吗?

支持(0) 反对(0) 梦里追逐 | 园豆:4 (初学一级) | 2013-08-06 17:09

@梦里追逐: 没啥影响吧,你用 fiddler 随便抓一个上传文件或者下载文件的包,你就可以看到 http header 的头应该包括哪些正确的 tag。

你这里要传的是图片,按照规范,你的header 里就应该表明content 中的字节流是图片,那么各种浏览器就能按照header的内容来调用相应的图片解析引擎渲染图片。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2013-08-06 17:13
0

不用这么复杂,直接Stream.CopyTo (),参考:上传文件就这么简单:Request.InputStream to FileStream

收获园豆:10
dudu | 园豆:31075 (高人七级) | 2013-08-06 16:55

这种方法也试过了,也是不行 传过去的东西 还是乱码

支持(0) 反对(0) 梦里追逐 | 园豆:4 (初学一级) | 2013-08-06 17:05
0

请查看下  httpcontext 的cur.Request.Files[0].InputStream  和另一个接受服务器的编码格式

收获园豆:5
想些事... | 园豆:98 (初学一级) | 2013-08-09 15:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册