gpt4 book ai didi

java - RMI 客户端/服务器 - 文件传输

转载 作者:行者123 更新时间:2023-12-02 03:47:52 25 4
gpt4 key购买 nike

我想实现一个Java程序,客户端能够从客户端上传文件(图像、文本等)并将其发送到服务器端,文件将存储在服务器上的文件夹中电脑。

这可能并且现实吗? EJB 是执行此操作的更好方法吗?有没有什么好的资源可以利用?

最佳答案

您可以在公共(public)包中创建一个类,如下所示,然后从客户端调用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 - RMI 客户端/服务器 - 文件传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36153778/

25 4 0
文章推荐: java - 在当前项目和插件组中未找到前缀 'jetty' 的插件
文章推荐: Azure 应用服务 VS WebJob
文章推荐: sql - Bigquery 从任何列包含 'FINISHED' 的表中选择
文章推荐: java - 从 arraylist 中删除重复的字符串