java如何实现客户端向服务器端传送一个图片的代码,详细一点,最好能有注释,新手求解

java如何实现客户端向服务器端传送一个图片的代码,详细一点,最好能有注释,新手求解,第1张

public class SocketTest extends Thread {
private Socket so;
private DataInputStream in;
public static void main(String[] args) {
SocketTest app = new SocketTest();
appstartup();
}
public void startup() {
try {
// 创建服务端socket对象并指定监听端口
ServerSocket ss = new ServerSocket(9999);
Systemoutprintln("listening");
// 等待客户端连接
so = ssaccept();
Systemoutprintln("connected");
// 开始读取数据
start();
} catch (Exception e) {
eprintStackTrace();
}
}
public void run() {
try {
// 创建socket输入流
in = new DataInputStream(sogetInputStream());
while (true) {
try {
// 定义接收缓冲区(64字节)
byte[] buf = new byte[64];
// 将数据读到接收缓冲区中,并返回实际读到的数据长度
int len = inread(buf, 0, 64);
// 长度为-1说明到达输入流末尾,socket已关闭
if (len < 1) {
Systemoutprintln("closed");
break;
}
Systemoutprintln("(" + len + ")");
} catch (Exception e) {
// 读数据异常
eprintStackTrace();
}
}
} catch (Exception e) {
// 监听异常
eprintStackTrace();
}
}
}

很简单。
可以手写IO读写(有点麻烦)。
怕麻烦的话使用FileUpload组件 在servlet里doPost嵌入一下代码
public void doPost(>        private File myFile; //文件
private String myFileContentType; //类型
private String myFileFileName;    //文件名
//。。。。getXXX() setXXX()方法

//输入流
InputStream is = new FileInputStream(myFile);
//设定文件路径
String photoPath = ServletActionContextgetServletContext()
getRealPath("/user/photo/");
File filePhotoPath = new File(photoPath);
//判断这个路径是否存在,如果不存在创建这个路径
if (!filePhotoPathisDirectory()) {
filePhotoPathmkdir();
}

String extension = FilenameUtilsgetExtension(this
getMyFileFileName());   //后缀名 比如jpg
String filename = UUIDrandomUUID()toString() + "" + extension;

// 目标文件
File tofile = new File(photoPath, filename);
// 输出流
OutputStream os = new FileOutputStream(tofile);
byte[] buffer = new byte[1024];
int length = 0;
while ((length = isread(buffer)) > 0) {
oswrite(buffer, 0, length);
}
// 关闭输入流
isclose();
// 关闭输出流
osclose();

Java获取访问不了的照片的方法有以下几种:
1、使用URL:可以使用Java的URL类来读取,同时还可以设置一些超时参数,以避免下载超时。
2、使用Apache >

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12603271.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存