当前位置: 首页 > news >正文

怎么把做的网站传/百度广告投诉电话

怎么把做的网站传,百度广告投诉电话,网站建设学习内容,wordpress打折插件Android 开发 上传用户头像到服务器的数据库再获取显示 标签: android服务器mysql上传用户头像base642016-04-09 18:40 4043人阅读 评论(6) 收藏 举报分类:移动开发(2) 版权声明:本文为博主原创文章,未经博…

Android 开发 上传用户头像到服务器的数据库再获取显示

标签: android服务器mysql上传用户头像base64
 4043人阅读 评论(6) 收藏 举报
 分类:

最近和队友在做一个Android APP,昨天遇到用户上传头像,上传的头像图片需要上传至服务器的MySQL数据库保存,当用户上传成功之后每次登陆后从数据库获取头像信息显示。

由于之前一直使用JSON作为客户端和服务器端数据传输形式,JSON虽然使用方便但是不支持自定义类型,所以遇到的问题就是将二进制图片文件转成String,再传到服务器并保存到数据库。

在查阅了一些资料后想出了一个方法:

1,将图片转换成Byte[]

2,利用Base64将Byte[]加密编码转换成String

3,利用JSON将String传到服务器,由于图片一般转换后的String 是很大的,所以在MySql中保存为MEDIUMTEXT类型。方便以后从数据库直接读出来通过JSON再返回客户端解析后显示。

4,显示时将从数据库读出来的String通过Base64解码成Byte[];

5,用BitmapFactory将Byte[]转换成Bitmap显示。

A客户端向服务器端发送:

[java] view plaincopy
  1. private void edit_headPicture(Bitmap bitmap) {  
  2.         ByteArrayOutputStream baos = new ByteArrayOutputStream();//将Bitmap转成Byte[]  
  3.         bitmap.compress(Bitmap.CompressFormat.PNG, 50, baos);//压缩  
  4.         headPicture =Base64.encodeToString(baos.toByteArray(),Base64.DEFAULT);//加密转换成String  
  5.         int n=headPicture.length();  
  6.         Thread submit=new Thread(new SubmitThread());  
  7.         submit.start();  
  8.     }  
  9.       
  10.     class SubmitThread implements Runnable  
  11.     {  
  12.         Message msg = handler.obtainMessage();  
  13.         @Override  
  14.         public void run() {  
  15.             // TODO Auto-generated method stub  
  16.             JSONObject object=new JSONObject();  
  17.             try {  
  18.                 object.put("headPicture", headPicture);  
  19.                 msg.what=Server(object);  
  20.                 handler.sendMessage(msg);  
  21.             } catch (JSONException e) {  
  22.                 // TODO Auto-generated catch block  
  23.                 e.printStackTrace();  
  24.             }  
  25.         }  
  26.     }  
  27.     public int Server(JSONObject object)  
  28.     {  
  29.         String path=LoginActivity.URL+"SetInfoManager";  
  30.         try{  
  31.             URL url=new URL(path);  
  32.             String content = String.valueOf(object);  
  33.             HttpURLConnection conn = (HttpURLConnection) url.openConnection();  
  34.             conn.setConnectTimeout(5000);  
  35.             conn.setDoOutput(true);  
  36.             conn.setRequestMethod("POST");  
  37.             conn.setRequestProperty("User-Agent""Fiddler");  
  38.             conn.setRequestProperty("Content-Type""application/json");  
  39.             OutputStream os = conn.getOutputStream();  
  40.             os.write(content.getBytes());  
  41.             os.close();  
  42.             int code = conn.getResponseCode();  
  43.             if(code == 200)  
  44.             {  
  45.                 BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));  
  46.                 String result="";  
  47.                 result = in.readLine();  
  48.                 in.close();  
  49.                 return Integer.parseInt(result);  
  50.             }  
  51.             else return 0;  
  52.         }catch (MalformedURLException e) {    
  53.             // TODO Auto-generated catch block    
  54.             e.printStackTrace();    
  55.         } catch (IOException e) {    
  56.             // TODO Auto-generated catch block    
  57.             e.printStackTrace();    
  58.        }   
  59.         return 0;  
  60.     }  

B:服务器接收代码:

[java] view plaincopy
  1. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
  2.         StringBuffer buffer=new StringBuffer();  
  3.         String line="";  
  4.         request.setCharacterEncoding("UTF-8");  
  5.         BufferedReader reader=request.getReader();  
  6.         while((line=reader.readLine())!=null)  
  7.         {  
  8.             buffer.append(line);  
  9.         }  
  10.         try {  
  11.             JSONObject object=new JSONObject(buffer.toString());  
  12.             int result=new SetInfoManagerDB(object).Update();  
  13.             response.getOutputStream().write((result+"").getBytes());  
  14.         } catch (JSONException e) {  
  15.             // TODO Auto-generated catch block  
  16.             e.printStackTrace();  
  17.         }  
  18.     }  
  19.   
  20.   
  21. <span style="white-space:pre">        </span> sql="update companyview set headPicture=? where e_Name=?";  
  22.             try {  
  23.                 try {  
  24.                     stmt=conn.prepareStatement(sql);  
  25.                     stmt.setString(1, object.getString("headPicture"));  
  26.                     stmt.setString(2, username);  
  27.                     stmt.executeUpdate();  
  28.                     stmt.close();  
  29.                     return 4;  
  30.                 } catch (SQLException e) {  
  31.                     // TODO Auto-generated catch block  
  32.                     e.printStackTrace();  
  33.                     return 6;  
  34.                 }  

C:客户端解析并显示:

[java] view plaincopy
  1. String s=view.getString("headPicture");  
  2.                     if(s.equals(""))  
  3.                         btn_user.setImageResource(R.drawable.ic_launcher);  
  4.                     else  
  5.                     {  
  6.                         byte[] bytes = Base64.decode(view.getString("headPicture"), Base64.DEFAULT);  
  7.                         btn_user.setImageBitmap(BitmapFactory.decodeByteArray(bytes, 0, bytes.length));  
  8.                     }  





6
http://www.jmfq.cn/news/4814425.html

相关文章:

  • 网站建设竞价托管服务/济南做seo外包
  • 目前流行的网页设计风格包括/长沙企业关键词优化
  • 雨花台网站建设/中国网站排名
  • 企业电子商城网站建设/seo关键词排优化软件
  • 在万网申请的域名_需要把万网的账户密码给做网站的吗/购物网站大全
  • 用苹果cms做电影网站/百度收录查询
  • 做常州美食网站首页的背景图/优化seo软件
  • 网站建设方案策划书ppt/投放广告的渠道有哪些
  • 文化传媒建设网站/自媒体有哪些平台
  • 微网站开发流程/西安霸屏推广
  • 山东省建设工程造价管理协会网站/上海百度推广官网
  • 资讯网站怎么做/营销型网站案例
  • 炎陵做网站/快速网站轻松排名
  • 加强门户网站建设提升/苏州优化收费
  • 怎么做直播网站超管/seo入门培训学多久
  • 怎么做网站的投票平台/百度关键词搜索排名统计
  • 如何做网站赚钱/西安百度推广联系方式
  • 大良营销网站建设市场/哪些平台可以免费推广
  • 网站自建设需要买什么时候开始/新闻今日头条最新消息
  • 支付网站域名费会计分录怎么做/温州seo顾问
  • 搜索引擎 网站推广 举例/百度近日收录查询
  • 网站建设要考虑的问题/搜多多搜索引擎入口
  • 廊坊网站小姐私做/北京网络推广有哪些公司
  • 猪八戒兼职网站怎么做任务赚钱/企业培训平台
  • 天津网站建设制作排名/收录是什么意思
  • 深圳官网网站建设/百度搜索热度排名
  • 承接网站怎么做/免费百度seo引流
  • 做带后台的网站/国家职业技能培训平台
  • 做响应式网站费用/网站推广广告
  • 武汉做胃镜国医堂z网站/百度地图导航2022最新版下载