[英]RMI Client/Server - File Transfer
我想实现一个Java程序,在该程序中,客户端将能够从客户端上载文件(图像,文本等),并将其发送到服务器端,该文件将存储在服务器计算机上的文件夹中。
这可能可行吗? EJB是这样做的更好方法吗? 有没有好的资源?
您可以按照以下步骤在通用包中创建一个类,然后从客户端调用createByteArray()
并将图像转换为字节数组。 然后将其传递到骨骼中,并使用createBufferedImage()
重建图像。 最后,使用toFile()
将其另存为JPEG:
/**
*
* @author Randula
*/
public class TransportableImage {
/**
*
* @param bufferedImage
* @return
* @throws IOException
*/
public byte[] createByteArray(BufferedImage bufferedImage)
throws IOException {
byte[] imageBytes = null;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
JPEGImageEncoder jpg = JPEGCodec.createJPEGEncoder(bos);
jpg.encode(bufferedImage);
bos.flush();
imageBytes = bos.toByteArray();
bos.close();
return imageBytes;
}
//Reconstruct the BufferedImage
public BufferedImage createBufferedImage(byte[] imageBytes)
throws IOException {
InputStream is = new ByteArrayInputStream(imageBytes);
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(is);
BufferedImage image = decoder.decodeAsBufferedImage();
is.close();
return image;
}
//Save a JPEG image
public void toFile(File file, byte[] imageBytes)
throws IOException {
FileOutputStream os = new FileOutputStream(file);
os.write(imageBytes, 0, imageBytes.length);
os.flush();
os.close();
}
}
这个问题已经被问过了。 以下是更多信息的链接, 如何使用Java将文件上传到http远程服务器?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.