我想实现一个Java程序,客户端可以从客户端上传文件(图像,文本等)并将其发送到服务器端,文件将存储在服务器上的文件夹中电脑。
这可行且现实吗? EJB是更好的方法吗?有没有好的资源?
答案 0 :(得分:1)
您可以按照以下步骤在通用包中创建一个类,然后从客户端调用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();
}
}
答案 1 :(得分:0)
之前已经问过这个问题。以下是更多信息的链接 how to upload file to http remote server using java?