我正在尝试制作一个允许用户上传其个人资料照片的客户端服务器程序。因此,我有一个JFileChooser,它可以获得一个BufferedImage和一个UserId,并使Object成为其中的一个。我试图将此对象从我的客户端发送到我的服务器,但我收到了NotSerializableException。
这是对象的类。
import java.awt.image.BufferedImage;
import java.io.Serializable;
public class UserPicture implements Serializable
{
BufferedImage profilePic;
int userId;
public UserPicture(BufferedImage profilePic, int userId)
{
this.profilePic=profilePic;
this.userId=userId;
}
public BufferedImage getProfilePic()
{
return profilePic;
}
public int getUserID()
{
return userId;
}
}
我通过套接字发送它:
objOutStream.writeObject(theObject);//this is the line throwing the exception
objOutStream.flush();
现在我知道可以使用类似ImageIO.write(image, "jpg", byteArrayOutputStream);
的内容发送BufferedImages
但我并不完全确定如何在一个物体内发送它。
编辑:下面的解决方案解决了我的异常问题,但现在在服务器端,BufferedImage为空......这是解决方案的结果吗?