服务器端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锁屏API-DevicePolicyManager介绍
  2. Android(安卓)AIDL进程通信机制详解
  3. Android(安卓)Studio插件整理
  4. android之startActivityForResult的使用
  5. 写个android下倒计时软件
  6. Android(安卓)代码混淆 防止反编译
  7. Android(安卓)startActivityForResult的使用
  8. Android(安卓)对话框【Dialog】去除白色边框代码
  9. Android(安卓)AIDL进程通信机制详解

随机推荐

  1. list多选 android,Android(安卓)Expandab
  2. Android创建No Activity项目实现HelloWor
  3. 检测android的版本的办法
  4. Android番外篇 LruCache缓存机制
  5. Android(安卓)Studio 开发–微信APP门户
  6. 软键盘设置
  7. Android(安卓)studio使用SVN
  8. android 栈
  9. Android(安卓)MediaController
  10. Android---沉浸式状态栏