android上传图片至服务器 转.docx_第1页
android上传图片至服务器 转.docx_第2页
android上传图片至服务器 转.docx_第3页
android上传图片至服务器 转.docx_第4页
android上传图片至服务器 转.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

android上传图片至服务器 转 本实例实现了android上传手机图片至服务器,服务器进行保存服务器servlet代码public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException String temp=request.getSession().getServletContext().getRealPath(/)+temp; /临时目录 System.out.println(temp=+temp); String loadpath=request.getSession().getServletContext().getRealPath(/)+Image; /上传文件存放目录 System.out.println(loadpath=+loadpath); DiskFileUpload fu = new DiskFileUpload(); fu.setSizeMax(1*1024*1024); / 设置允许用户上传文件大小,单位:字节 fu.setSizeThreshold(4096); / 设置最多只允许在内存中存储的数据,单位:字节 fu.setRepositoryPath(temp); / 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录 /开始读取上传信息 int index=0; List fileItems = null; try fileItems = fu.parseRequest(request); System.out.println(fileItems=+fileItems); catch (Exception e) e.printStackTrace(); Iterator iter = fileItems.iterator(); / 依次处理每个上传的文件 while (iter.hasNext() FileItem item = (FileItem)iter.next();/ 忽略其他不是文件域的所有表单信息 if (!item.isFormField() String name = item.getName();/获取上传文件名,包括路径 name=name.substring(name.lastIndexOf()+1);/从全路径中提取文件名 long size = item.getSize(); if(name=null|name.equals() & size=0) continue; int point = name.indexOf(.); name=(new Date().getTime()+name.substring(point,name.length()+index; index+; File fNew= new File(loadpath, name); try item.write(fNew); catch (Exception e) / TODO Auto-generated catch block e.printStackTrace(); else /取出不是文件域的所有表单信息 String fieldvalue = item.getString(); /如果包含中文应写为:(转为UTF-8编码) /String fieldvalue = new String(item.getString().getBytes(),UTF-8); String text1=11; response.sendRedirect(result.jsp?text1= + text1); 复制代码android客户端代码public class PhotoUpload extends Activity private String newName = image.jpg; private String uploadFile = /sdcard/image.JPG; private String actionUrl = 1:8086/HelloWord/myForm; private TextView mText1; private TextView mText2; private Button mButton; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.photo_upload); mText1 = (TextView) findViewById(R.id.myText2); /文件路径:n+ mText1.setText(uploadFile); mText2 = (TextView) findViewById(R.id.myText3); /上传网址:n+ mText2.setText(actionUrl); /* 设置mButton的onClick事件处理 */ mButton = (Button) findViewById(R.id.myButton); mButton.setOnClickListener(new View.OnClickListener() public void onClick(View v) uploadFile(); ); /* 上传文件至Server的方法 */ private void uploadFile() String end = rn; String twoHyphens = -; String boundary = *; try URL url =new URL(actionUrl); HttpURLConnection con=(HttpURLConnection)url.openConnection(); /* 允许Input、Output,不使用Cache */ con.setDoInput(true); con.setDoOutput(true); con.setUseCaches(false); /* 设置传送的method=POST */ con.setRequestMethod(POST); /* setRequestProperty */ con.setRequestProperty(Connection, Keep-Alive); con.setRequestProperty(Charset, UTF-8); con.setRequestProperty(Content-Type, multipart/form-data;boundary=+boundary); /* 设置DataOutputStream */ DataOutputStream ds = new DataOutputStream(con.getOutputStream(); ds.writeBytes(twoHyphens + boundary + end); ds.writeBytes(Content-Disposition: form-data; + name=file1;filename= + newName + + end); ds.writeBytes(end); /* 取得文件的FileInputStream */ FileInputStream fStream = new FileInputStream(uploadFile); /* 设置每次写入1024bytes */ int bufferSize = 1024; byte buffer = new bytebufferSize; int length = -1; /* 从文件读取数据至缓冲区 */ while(length = fStream.read(buffer) != -1) /* 将资料写入DataOutputStream中 */ ds.write(buffer, 0, length); ds.writeBytes(end); ds.writeBytes(twoHyphens + boundary + twoHyphens + end); /* close streams */ fStream.close(); ds.flush(); /* 取得Response内容 */ InputStream is = con.getInputStream(); int ch; StringBuffer b =new StringBuffer(); while( ( ch = is.read() ) != -1 ) b.append( (char)ch ); /* 将Response显示于Dialog */ showDialog(上传成功+b.toString().trim(); /* 关闭DataOutputStream */ ds.close(); catch(Exception e) showDialog(上传失败+e); /* 显示Dialog的method */ private void showDialog(String mess

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论