winform中如何将图片传递到服务器?

zwaleaf 2009-07-21 06:00:30
winform中如何将图片传递到服务器?

我的服务器是JBoss。
服务器上的地址是 http://127.0.0.1:8080/rdlc/uploadRdlcFile.do,在Servlet中处理上传的参数和文件。
在网上找的部分代码如下:
参数放在postBytes中传到服务器,在Servlet中可以用request.getParameter("param");获取参数值。
但是传递的文件流,在服务器Servlet中如何处理呢,我想读取到上传的图片,然后建立一个文件夹,将图片放入这个文件夹中,另外,如果实现了这个功能,那么上传多个文件又应当如何处理呢?


HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(RequestAddress);
req.Method = "POST";
req.KeepAlive = false;
req.ContentType = "application/x-www-form-urlencoded;charset=" + Encoding.ToString();

String parametersStr = GetParametersString();
byte[] postBytes = Encoding.ASCII.GetBytes(parametersStr);
FileStream fileStream = new FileStream(uploadfile, FileMode.Open, FileAccess.Read);
long length = postHeaderBytes.Length + fileStream.Length;
req.ContentLength = length;

try
{
using (Stream reqStream = req.GetRequestStream())
{
// Write out our post header
reqStream.Write(postBytes, 0, postBytes.Length);
// Write out the file contents
byte[] buffer = new Byte[checked((uint)Math.Min(4096, (int)fileStream.Length))];
int bytesRead = 0;
while ( (bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0 )
reqStream.Write(buffer, 0, bytesRead);
}
}

...全文
87 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zwaleaf 2009-07-28
  • 打赏
  • 举报
回复
解决了。
ContentType不要设置成multipart/form-data的。
即去掉req.ContentType = "application/x-www-form-urlencoded;charset=" + Encoding.ToString();

将参数作为url的一部分,reqStream只写入文件流的字节。
reqStream.Write(buffer, 0, bytesRead);
这样在servlet中可以用request.getParameter()获得参数,
request.getInputStream()获得文件流。
zwaleaf 2009-07-22
  • 打赏
  • 举报
回复
还是有些不明白,能否再详细点吗!!
reqStream.Write(postBytes, 0, postBytes.Length);
这里可以直接用request.getParameter("param");获取参数

while ( (bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0 )
reqStream.Write(buffer, 0, bytesRead);
这里如何读取到文件流??
机器人 2009-07-21
  • 打赏
  • 举报
回复
服务端就像用<input type=File >提交文件一样的,读取到文件流用流保存成文件就可以了。

上传多个文件:
方法1、和客户端达成协议(这个就是自己定了),多个文件用ZIP压缩然后上传。
方法2、客户端模拟多个<input type=File >放到FORM中POST

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧