阅读更多

服务器端servlet代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

   //获取输入流,是HTTP协议中的实体内容
    ServletInputStream  sis=request.getInputStream();
   
     File file = new File(request.getSession().getServletContext().getRealPath("/img/"),"img_"+0+".jpg");
     for (int imgnum = 0;file.exists();imgnum++)
     {
      file  = new File(request.getSession().getServletContext().getRealPath("/img/"),"img_"+imgnum+".jpg");
     }
          //缓冲区
          byte buffer[]=new byte[1024];
          FileOutputStream fos=new FileOutputStream(file);
          int len=sis.read(buffer, 0, 1024);
          //把流里的信息循环读入到文件中
          while( len!=-1 )
          {
              fos.write(buffer, 0, len);
              len=sis.readLine(buffer, 0, 1024);
          }
          fos.close();
          sis.close();
}


android客户端代码:
public static void uploadFile(String imageFilePath)
    {
      String actionUrl = "http://192.168.1.32:8080/UploadServer/ImageServlet";
      try
      {
        URL url =new URL(actionUrl);
        HttpURLConnection con=(HttpURLConnection)url.openConnection();
      
        con.setDoInput(true);
        con.setDoOutput(true);
        con.setUseCaches(false);
      
        con.setRequestMethod("POST");
      
      
        DataOutputStream ds =  new DataOutputStream(con.getOutputStream());
        File file = new File(imageFilePath);
      
        FileInputStream fStream = new FileInputStream(file);
        int bufferSize = 1024;
        byte[] buffer = new byte[bufferSize];

        int length = -1;
      
        while((length = fStream.read(buffer)) != -1)
        {
        
          ds.write(buffer, 0, length);
        }

      
        fStream.close();
        ds.flush();
      
      
        InputStream is = con.getInputStream();
        int ch;
        StringBuffer b =new StringBuffer();
        while( ( ch = is.read() ) != -1 )
        {
          b.append( (char)ch );
        }
      
      
        ds.close();
      }
      catch(Exception e)
      {
       e.printStackTrace();
      }
    
    }

更多相关文章

  1. android 源代码研究之----frameworks-----status bar 状态栏
  2. Android 代码实现重启
  3. 【Arcgis android】 离线编辑实现及一些代码段
  4. Android 实现扫雷小游戏实例代码
  5. android代码分析,及Terminal使用
  6. Android应用程序绑定服务(bindService)的过程源代码分析(2)
  7. [导入]Android代码优化
  8. android APP隐私政策弹框的实现代码实例
  9. android手机打电话代码分析

随机推荐

  1. Android Geocoder(位置解析)
  2. Android Studio 使用小结
  3. android 线性布局几个属性
  4. Android 3D 编程:索引
  5. zbar android sdk源码编译
  6. 如何调试跟踪Android源代码
  7. android字体大小的设置
  8. 初涉Android蓝牙开发
  9. Android能够获取到唯一的设备ID吗?
  10. Android实现圆角矩形和圆形ImageView的方