asp.net如何获取android上传的图片【很愁,一直搞不定】

zy5877189 2011-11-24 10:29:20
用asp.net做的webservice,客户端是android, android端要上传头像(目前android端是通过http流的方式传输过来的),
并且保存到服务器上面,我不知道服务器需要如何去处理,能贴出代码吗。

有人说跟webservice没有关系,直接用ashx文件处理,但是我想知道,怎么处理呢,能贴出代码吗

这个问题,已经发了好几天,也好几便了,一直没人解决,我都已经没有分了,只有这么点了,请高手帮我解决吧。我愁呀

我把目前的代码都贴出来了,请大虾们帮我看一下呀。 服务器端还是怎么也拿不上传的图片

android端的代码是这样的:
HttpURLConnection con;
URL url;
String httpUrl="http://192.168.0.105/TUISONG/Service.asmx";
InputStream in;
byte[] buf=new byte[1024];

try {
in=new FileInputStream(new File(Environment.getExternalStorageDirectory()+"/treemenu.jpg"));
url=new URL(httpUrl);
con=(HttpURLConnection)url.openConnection();
con.setConnectTimeout(20000);
con.setReadTimeout(12000);
con.setRequestMethod("POST");
con.setDoOutput(true);
con.setDoInput(true);

OutputStream osw = con.getOutputStream();
while(in.read(buf)!=-1){
osw.write(buf);
}
osw.flush();
osw.close();
in.close();
int code = con.getResponseCode();
System.out.println("code:"+code);

} catch (Exception e) {
e.printStackTrace();
}


服务器端代码:
public void ProcessRequest(HttpContext context)
{

context.Response.ContentType = "text/plain";
context.Response.Charset = "utf-8";

string uploadPath = HttpContext.Current.Server.MapPath(WebCommon.GetClientImagePath());
if (!System.IO.Directory.Exists(uploadPath))
{
System.IO.Directory.CreateDirectory(uploadPath);
}


System.IO.Stream stream = context.Request.InputStream;//这是你获得的流

byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length); //将流的内容读到缓冲区

System.IO.FileStream fs = new System.IO.FileStream(uploadPath + "test.jpg", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
fs.Write(buffer, 0, buffer.Length);
fs.Flush();
fs.Close();

}

public bool IsReusable {
get {
return false;
}
}
...全文
986 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
叶帅 2014-08-11
  • 打赏
  • 举报
回复
这楼主的心性,有求于人的时候就摇尾乞怜,解决了问题就高高在上,自私。
wendy_csdn 2014-08-04
  • 打赏
  • 举报
回复
楼主,你当初是怎么弄的,我现在也在搞这个,新手, 弄不了,希望楼主帮助我,,,qq 991483098 希望能联系上你。。。
Megan_20 2014-05-23
  • 打赏
  • 举报
回复
学习了,不错。。。
阿里弟弟的我 2013-12-25
  • 打赏
  • 举报
回复
你好楼主asp.net如何获取android上传的图片【很愁,一直搞不定】 这篇是怎么弄的呢的?麻烦赐教下 谢谢
williamxia8 2013-12-12
  • 打赏
  • 举报
回复
遇到了上传的问题了,给代码试试啊
天外野草 2013-04-25
  • 打赏
  • 举报
回复
想问一下,要是下载该怎么下载啊
没钱的东哥 2012-07-25
  • 打赏
  • 举报
回复
大哥门,,有没有在的,,帮忙解决下,,如果是浏览器直接访问就不会有问题,,用android的http协议就会报500,,我不解啊
没钱的东哥 2012-07-25
  • 打赏
  • 举报
回复
为什么我的android端会报500错误,,我的webservice什么都没处理,,里面 public bool updateUserHeadImage(string id, string path,string newName)
{
UserDAO ud = new UserDAO();
return false;
}
}
什么都没有,,很想知道为什么报500
没钱的东哥 2012-07-25
  • 打赏
  • 举报
回复
楼主 c#这边的webservice怎么写的?
qq52455207 2012-07-19
  • 打赏
  • 举报
回复
感谢楼主啊,成功上传了
闲着吃菜 2012-07-11
  • 打赏
  • 举报
回复
真心谢谢楼主贴出来的这段代码
weishanwei 2012-06-26
  • 打赏
  • 举报
回复
String httpUrl="http://192.168.0.105/TUISONG/Service.asmx";
这句话应该是指向webserver的*.ashx文件,楼主不厚道,不上解决方法
dejatnui 2012-05-15
  • 打赏
  • 举报
回复
怎么搞定的啊,楼主,请赐教~还有出现System.Web.HttpContext 无法序列化,因为它没有无参数的构造函数,不知道该怎么办?

kedee 2011-11-28
  • 打赏
  • 举报
回复
怎么搞定的,我目前也遇到这个问题了
zy5877189 2011-11-24
  • 打赏
  • 举报
回复
oh ye,搞定了。!哈哈
zy5877189 2011-11-24
  • 打赏
  • 举报
回复
在本地用网页的形式访问.net代码,debug的时候,发现能拿到文件流,但是怎么就保存不下来呢。目录是有权限的呀
加油馒头 2011-11-24
  • 打赏
  • 举报
回复
这个之前也搞过,是用http方式写的,可以的。。
孟子E章 2011-11-24
  • 打赏
  • 举报
回复
首先确保存储的路径是对的,并且是在网站目录下,并且有写入权限。
另外
stream.Postion=0再进行读取试试

110,534

社区成员

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

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

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