Heim > Java > javaLernprogramm > Ein einfaches Beispiel für die Implementierung der Bild-Upload-Funktion in Java

Ein einfaches Beispiel für die Implementierung der Bild-Upload-Funktion in Java

黄舟
Freigeben: 2017-09-06 14:12:22
Original
2285 Leute haben es durchsucht

这篇文章主要介绍了Java实现的简单图片上传功能,结合实例形式分析了java图片传输相关的检验、传输、接收等相关操作技巧,需要的朋友可以参考下

本文实例讲述了Java实现的简单图片上传功能。分享给大家供大家参考,具体如下:


import java.io.*;
import java.net.*;
/*
*发送端
*/
class picsend
{
  public static void main(String[] args) throws Exception
  {
    if(args.length!=1)
    {
      System.out.println("请选择一张.jpg图片");
      return;
    }
    File file = new File(args[0]);
    if (!(file.exists() && file.isFile()))
    {
      System.out.println("图片有问题(不是文件或不存在)");
      return;
    }
    if(!file.getName().endsWith(".jpg"))
    {
      System.out.println("图片格式不对,请重新选择图片");
      return;
    }
    if(file.length()>1024*1024*10)
    {
      System.out.println("图片过大,无法上传");
      return;
    }
    Socket s = new Socket("192.168.33.1",10006);//建立服务
    FileInputStream fis = new FileInputStream("d:\\美女.jpg");//读取图片
    OutputStream out = s.getOutputStream();//读到的写入
    byte [] b = new byte[1024];
    int len = 0;
    while((len = fis.read(b))!= -1)
    {
      out.write(b,0,len);
    }
    s.shutdownOutput();//标记结束
    InputStream in = s.getInputStream();//读服务端返回数据
    byte [] bin = new byte[1024];
    int num = in.read(bin);
    System.out.println(new String(bin,0,num));
    fis.close();
    s.close();
  }
}
class picThread implements Runnable
{
  private Socket s;
  picThread(Socket s)
  {
    this.s = s;
  }
  public void run()
  {
    int count = 1;
    String ip = s.getInetAddress().getHostAddress();//得到ip
    try
    {
      System.out.println(ip+".............connect");
      InputStream in = s.getInputStream();//读到流中数据
      File file = new File(ip+"("+(count)+")"+".jpg");
      while(file.exists())//判断文件是否存在
        file = new File(ip+"("+(count++)+")"+".jpg");
      FileOutputStream fos = new FileOutputStream(file);//写入
      byte [] b = new byte[1024];
      int len = 0;
      while((len = in.read(b))!=-1)
      {
        fos.write(b,0,len);
      }
      OutputStream out = s.getOutputStream();//写入服务端传过来数据
      out.write("上传成功!".getBytes());
      fos.close();
      s.close();
    }
    catch (Exception e)
    {
      throw new RuntimeException("上传失败");
    }
  }
}
/*
*服务端
*/
class picrece
{
  public static void main(String[] args) throws Exception
  {
    ServerSocket ss = new ServerSocket(10006);
    while(true)
    {
      Socket s = ss.accept();//接收
      new Thread(new picThread(s)).start();
    }
  }
}
Nach dem Login kopieren

运行效果图如下:

Das obige ist der detaillierte Inhalt vonEin einfaches Beispiel für die Implementierung der Bild-Upload-Funktion in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage