android怎么在服务器和客户端之间传输图片? 15

这是我的服务端的代码:StringimagePath="/home/shenlei/tupian/jiaofu.jpg";Filefile=newFile(imagePa... 这是我的服务端的代码:
String imagePath="/home/shenlei/tupian/jiaofu.jpg";
File file =new File(imagePath);
FileInputStream inputstream = new FileInputStream(file);
OutputStream out = resp.getOutputStream();
//拷贝输出
byte[] buf = new byte[1024];
int count = 0;
while ((count =inputstream.read(buf)) >= 0) {
out.write(buf, 0, count);
}
inputstream.close();
out.close();

}
这是客户端的接受的代码:
// 取得图片字节流
HttpEntity httpEntity = response.getEntity();
InputStream is = httpEntity.getContent();
bitmap = BitmapFactory.decodeStream(is);
is.close();
但是获取的图像没有现实出来:
ImageView image = (ImageView) findViewById(R.id.detail_img);
image.setImageBitmap(HttpUtil.bitmap);

这是log
07-28 12:52:13.861: D/libc(25884): [NET] getaddrinfo+,hn 13(0x3139322e313638),sn(),family 0,flags 4
07-28 12:52:13.861: D/libc(25884): [NET] getaddrinfo-, SUCCESS
07-28 12:52:13.861: D/libc(25884): [NET] getaddrinfo+,hn 13(0x3139322e313638),sn(),family 0,flags 4
07-28 12:52:13.861: D/libc(25884): [NET] getaddrinfo-, SUCCESS
07-28 12:52:13.861: D/libc(25884): [NET] getaddrinfo+,hn 13(0x3139322e313638),sn(),family 0,flags 4
07-28 12:52:13.861: D/libc(25884): [NET] getaddrinfo-, SUCCESS
07-28 12:52:13.871: I/global(25884): call createSocket() return a new socket.
07-28 12:52:13.871: D/libc(25884): [NET] getaddrinfo+,hn 13(0x3139322e313638),sn(),family 0,flags 4
07-28 12:52:13.871: D/libc(25884): [NET] getaddrinfo-, SUCCESS
展开
 我来答
oueraini
2015-11-18 · TA获得超过3062个赞
知道小有建树答主
回答量:358
采纳率:100%
帮助的人:103万
展开全部
android客户端和java服务端之间可以用socket来传输图片。
服务器端代码:
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;

public class Server02 {
public static void main(String[] args) {
try {
ServerSocket server = new ServerSocket(40000);
Socket socket = server.accept();
DataInputStream dos = new DataInputStream(socket.getInputStream());
int len = dos.available();
System.out.println("len = "+len);
byte[] data = new byte[len];
dos.read(data);

System.out.println("data = "+data);
dos.close();
socket.close();
server.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
客户端代码:
[java] view plaincopy
imageView02 = (ImageView)findViewById(R.id.image02);
button02 = (Button)findViewById(R.id.Button02);
button02.setOnClickListener(new OnClickListener(){
public void onClick(View arg0) {
Socket socket;
try {
socket = new Socket("192.168.1.203",40000);
DataOutputStream out = new DataOutputStream(socket.getOutputStream());

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.qt);
imageView02.setImageBitmap(bitmap);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//读取图片到ByteArrayOutputStream
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] bytes = baos.toByteArray();
out.write(bytes);

System.out.println("bytes--->"+bytes);
out.close();
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});

}
镭速传输
2024-10-28 广告
在深圳市云语科技有限公司,我们深知远程传输大文件的重要性与便捷性。为此,我们推荐使用高效的文件传输服务,这些服务通常支持断点续传,确保大文件传输的稳定与安全。用户只需简单上传,系统即可自动处理,无论文件大小,都能实现快速、可靠的远程传输。同... 点击进入详情页
本回答由镭速传输提供
a370829592
2014-07-30 · 超过19用户采纳过TA的回答
知道答主
回答量:41
采纳率:100%
帮助的人:21.4万
展开全部
服务端只要提供给客户端 图片下载的请求地址就行了,

你把图片都放在一个服务器某目录下,做一个请求的URl
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AlwaysL7
2015-09-21 · TA获得超过1016个赞
知道小有建树答主
回答量:422
采纳率:0%
帮助的人:201万
展开全部
本地获取服务端的话,是服务端返回一个url,然后本地加载网络图片bitmap流,然后加载到imageview里,服务端的话,就是本地图片上传了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天涯の翼eefb
2015-11-09 · 超过57用户采纳过TA的回答
知道小有建树答主
回答量:108
采纳率:100%
帮助的人:48.1万
展开全部
上传与下载
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Mr_So_Right
2015-10-31
知道答主
回答量:59
采纳率:0%
帮助的人:21.7万
展开全部
具体什么问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式