socket實(shí)現(xiàn)圖片上傳 |奧遠(yuǎn)科技是專注于信息化建設(shè)與互聯(lián)網(wǎng)產(chǎn)品開發(fā)的高新科技企業(yè),主要服務(wù)于百強(qiáng)企業(yè)、上市公司、大型集團(tuán)網(wǎng)站建設(shè)。承接大型電商網(wǎng)站、復(fù)雜功能型網(wǎng)站、APP、微信、小程序,oa辦公管理系統(tǒng),ERP管理系統(tǒng)開發(fā)。為客戶提供一站式網(wǎng)絡(luò)營銷解決方案,全國統(tǒng)一客服熱線:4000-880-989。 "> socket實(shí)現(xiàn)圖片上傳 |>socket實(shí)現(xiàn)圖片上傳 ">

六月丁香综合婷婷,激情婷婷综合久久久久,久久精品全国免费观看国产,欧美一区二区激情视频,亚洲精品自拍视频,亚洲日韩中文字幕丝祙制服,免费的黄色av网站

技術(shù)中心

這里象征著我們的態(tài)度和能力

>socket實(shí)現(xiàn)圖片上傳
作者:中國IT實(shí)驗(yàn)室    來源:中國IT實(shí)驗(yàn)室    發(fā)布時(shí)間:2012-01-01      瀏覽次數(shù):8780
分享到:
歡迎進(jìn)入Java社區(qū)論壇,與200萬技術(shù)人員互動(dòng)交流 >>進(jìn)入

實(shí)現(xiàn)思路:

在客戶端獲取到文件流,將文件流寫入到通過socket指定到某服務(wù)器的輸出流中,在服務(wù)器中通過socket獲取到輸入流,將數(shù)據(jù)寫入到指定的文件夾內(nèi),為了提供多用戶同時(shí)上傳,這里需要將在服務(wù)器上傳客戶端的文件操作放在另開啟一個(gè)線程去運(yùn)行。

完整代碼:

view plain
import java.net.*;
import java.io.*;


/*
服務(wù)端將獲取到的客戶端封裝到單獨(dú)的線程中。
*/
class  JpgClient2
{
    public static void main(String[] args) throws Exception
    {
        //檢驗(yàn)文件
        if(args.length==0)
        {
            System.out.println("指定一個(gè)jpg文件先!");
            return ;
        }
        File file = new File(args[0]);
        if(!(file.exists() && file.isFile() && file.getName().endsWith(".jpg")))
        {
            System.out.println("選擇文件錯(cuò)誤,請(qǐng)重新選擇一個(gè)正確的文件。");
            return ;
        }

        //讀取文件并寫入到服務(wù)器中
        Socket s = new Socket("192.168.137.199",9006);
        FileInputStream fis = new FileInputStream(file);
        OutputStream out = s.getOutputStream();
        byte[] buf = new byte[1024];
        int len = 0;
        while((len=fis.read(buf))!=-1)
        {
            out.write(buf,0,len);
        }

        //通知服務(wù)器發(fā)送數(shù)據(jù)結(jié)束
        s.shutdownOutput();

        //獲取服務(wù)器響應(yīng)
        InputStream in = s.getInputStream();
        byte[] bufIn = new byte[1024];
        int num = in.read(bufIn);
        String str = new String(bufIn,0,num);
        System.out.println(str);

        fis.close();
        s.close();
    }
}


class JpgThread implements Runnable
{
    private Socket s;
    JpgThread(Socket s)
    {
        this.s = s;
    }
    public void run()
    {
        int count = 1;

        String ip = s.getInetAddress().getHostAddress();

        try
        {
            //獲取客戶端數(shù)據(jù)
            InputStream in = s.getInputStream();

            //指定文件存放路徑將讀取到客戶提交的數(shù)據(jù)寫入文件中
            File dir = new File("c:pic");
            File file = new File(dir,ip+"("+count+").jpg");
            while(file.exists())
                file = new File(dir,ip+"("+(count++)+").jpg");
            FileOutputStream fos = new FileOutputStream(file);
            byte[] buf = new byte[1024];
            int len = 0;
            while((len=in.read(buf))!=-1)
            {
                fos.write(buf,0,len);
            }

            //返回上傳狀態(tài)給客戶端
            OutputStream out = s.getOutputStream();
            out.write("上傳文件成功".getBytes());

            fos.close();
            s.close();
        }
        catch (Exception e)
        {
            System.out.println(e.toString());
        }
    }
}
class  JpgServer2
{
    public static void main(String[] args)throws Exception
    {
        ServerSocket ss = new ServerSocket(9006);

        //開啟線程并發(fā)訪問
        while(true)
        {
            Socket s = ss.accept();
            String ip = s.getInetAddress().getHostAddress();
            System.out.println(ip+"....connected");
            new Thread(new JpgThread(s)).start();
        }
    }
}

?2008-2022 CORPORATION ALL Rights Reserved. 昆明奧遠(yuǎn)科技有限公司版權(quán)所有 滇ICP備09003328號(hào)-1 滇公網(wǎng)安備 53011102000818號(hào) 增值電信業(yè)務(wù)經(jīng)營許可證號(hào):滇B2-20110045
昆明那家網(wǎng)絡(luò)公司好,新媒體運(yùn)營,網(wǎng)站優(yōu)化,網(wǎng)絡(luò)推廣,網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),網(wǎng)站推廣,云南網(wǎng)站公司,昆明新媒體公司,云南網(wǎng)紅主播,昆明SEO公司,昆明網(wǎng)站建設(shè),昆明網(wǎng)絡(luò)推廣,昆明網(wǎng)站優(yōu)化,昆明網(wǎng)站推廣,紅河網(wǎng)站建設(shè),大理網(wǎng)絡(luò)公司,曲靖網(wǎng)絡(luò)公司,麗江網(wǎng)站設(shè)計(jì),昭通網(wǎng)絡(luò)公司,保山大數(shù)據(jù)服務(wù),智慧高速建設(shè),智慧校園服務(wù),云南IDC服務(wù)商,網(wǎng)絡(luò)安全測(cè)評(píng),等保測(cè)評(píng),網(wǎng)站關(guān)鍵詞排名優(yōu)化服務(wù),服務(wù)客戶盡超2000余家,一切盡在奧遠(yuǎn)科技,服務(wù)電話:13888956730