当前位置:首页 > 开发 > Web前端 > 前端 > 正文

Web与Android 上传图片

发表于: 2014-01-20   作者:孤狼18   来源:转载   浏览:
摘要:     Web上传图片:         Web前端html上传图片标签     <form id="fabu" method="post" enctype="multipart/form-data"> //表

    Web上传图片

        Web前端html上传图片标签    

   <form id="fabu" method="post" enctype="multipart/form-data">     //表单必须设置enctype  
          
   <tr>
      <td>上传图片:</td>
       <td><input   type="file" name="uploadFile" /></td>
    </tr>

         web后台解析上传文件

        Map map=new HashMap();
        FileItemFactory factory = new DiskFileItemFactory();
	// 创建一个新的文件上传处理器
	ServletFileUpload upload = new ServletFileUpload(factory);
        List items;
	try {
		items = upload.parseRequest(request);
		Iterator iter = items.iterator();//迭代
	    while (iter.hasNext()) {
		FileItem item = (FileItem) iter.next();
		if (item.isFormField()) {  //判断该表单项是否是普通类型否则是图片类型
		     String name = item.getFieldName();
		     String value = item.getString();
		     map.put(name, value);  //将传过来的其他参数获取并保存到map
		} else {
		     processUploadedFile(item,request);
		}
	      }
	   } catch (FileUploadException e) {
			e.printStackTrace();
	   }
	     String min_num=""+map.get("minNum");
	     String content=""+ map.get("content");
	     String create_time=""+map.get("create_time");
	
	//获取图片		
        private void processUploadedFile(FileItem item,HttpServletRequest request) {
	   if (!item.isFormField()) {
//	       String fieldName = item.getFieldName();
//	       String fileName = item.getName();
//	       String contentType = item.getContentType();
//	       boolean isInMemory = item.isInMemory();
//	       long sizeInBytes = item.getSize();
	       str=System.currentTimeMillis()+".png";   //重命名图片
         //获取项目图片保存路径
	String path=request.getSession().getServletContext().getRealPath("img")+"\\"+str;
		File file=new File(path);
                str="img/"+str; //重命名保存到数据库名图
                try {
                   item.write(file); //将上传图片获取并写入项目保存图片的文件中			         } catch (Exception e) {	
 			e.printStackTrace();
                 }	
	   }
        }					                                          

     Android上传图片:

 

      if(id==R.id.btn_upload_img){  //点击上传图片按钮上传图片
			Intent intent=new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
			 startActivityForResult(intent, RESULT_LOAD_IMAGE);
		}
	}
	//获取图片路径
	public void onActivityResult(int requestCode, int resultCode, Intent data){
		  super.onActivityResult(requestCode, resultCode, data); 
		 if(resultCode== getActivity().RESULT_OK) {
		    switch (requestCode) {
		      case RESULT_LOAD_IMAGE:
			Uri selectedImage = data.getData();
    			String[] filePathColumn = { MediaStore.Images.Media.DATA };
    			Cursor cursor =  getActivity().getContentResolver().query(selectedImage,
    					filePathColumn, null, null, null);
    			cursor.moveToFirst();
    			int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
    			picturePath = cursor.getString(columnIndex);   //保存图片路径    		
    			cursor.close();
                     break;  
		     default:
			break;
		  }			  
             }
	}

         File file = new File(picturePath);  //通过图片路径获取文件,通过http请求将文件传到服务器(解析获取图片同上Web)

    注:需要两个jar包,已上传

 

Web与Android 上传图片

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号