开发者

Sending image from client to server

开发者 https://www.devze.com 2023-02-16 10:52 出处:网络
Im new to JAVA so go easy on em please. I have a server and a client that can successfully connect to each other and other stuff but 1 function of the client is to send an image to the 开发者_开发知识

Im new to JAVA so go easy on em please.

I have a server and a client that can successfully connect to each other and other stuff but 1 function of the client is to send an image to the 开发者_开发知识库server.Can anybody provide the code for that(in java,not a web app).


Welcome to Java !

To accomplish your task at hand, you can use Sockets.

Client code :

function sendFile (String serverIp, int serverPort) {
    int i;
    FileInputStream fis = new FileInputStream ("/path/to/your/image.jpg");

    Socket sock = new Socket(serverIp, serverPort);
    DataOutputStream os = new DataOutputStream(sock.getOutputStream());
    while ((i = fis.read()) > -1)
        os.write(i);

    fis.close();
    os.close();
    sock.close();
}

Server code :

function listenForFile(int port) {
    ServerSocket socket = new ServerSocket(serverPort);
        while (true) {

            Socket clientSocket = socket.accept();

            DataInputStream dis = new DataInputStream(clientSocket.getInputStream());
            FileOutputStream fout = new FileOutputStream("/path/to/store/image.jpg");
            int i;
            while ( (i = dis.read()) > -1) {
                fout.write(i);
            }

            fout.flush();
            fout.close();
            dis.close();
            clientSocket.close();
        }
}

Note that server method listenForFile() must be called before you call sendFile() on client. And, serverPort must be same on both sides.

0

精彩评论

暂无评论...
验证码 换一张
取 消