zoukankan      html  css  js  c++  java
  • 请求服务器图片并显示

    1.客户端

     1 package com.jingle.requestimg;
     2 
     3 import org.apache.http.Header;
     4 
     5 import com.loopj.android.http.AsyncHttpClient;
     6 import com.loopj.android.http.AsyncHttpResponseHandler;
     7 import com.loopj.android.http.RequestParams;
     8 
     9 import android.app.Activity;
    10 import android.graphics.Bitmap;
    11 import android.graphics.BitmapFactory;
    12 import android.os.Bundle;
    13 import android.view.View;
    14 import android.view.View.OnClickListener;
    15 import android.widget.Button;
    16 import android.widget.ImageView;
    17 
    18 public class MainActivity extends Activity {
    19     private String url = "http://192.168.1.101:8080/Login/servlet/ReturnImg";
    20 
    21     private ImageView imageView;
    22 
    23     @Override
    24     protected void onCreate(Bundle savedInstanceState) {
    25         super.onCreate(savedInstanceState);
    26         setContentView(R.layout.activity_main);
    27 
    28         initImgView();
    29         initBtn();
    30     }
    31 
    32     private void initImgView() {
    33         imageView = (ImageView) findViewById(R.id.img);
    34     }
    35 
    36     private void initBtn() {
    37         Button btn = (Button) findViewById(R.id.btn);
    38         btn.setOnClickListener(new OnClickListener() {
    39 
    40             @Override
    41             public void onClick(View v) {
    42                 getServerImg();
    43 
    44             }
    45         });
    46     }
    47 
    48     private void getServerImg() {
    49         AsyncHttpClient client = new AsyncHttpClient();
    50         client.setTimeout(3000);
    51         RequestParams params = new RequestParams();
    52         params.put("img", "img");
    53         client.post(url, params, new AsyncHttpResponseHandler() {
    54 
    55             @Override
    56             public void onSuccess(int statusCode, Header[] headers,
    57                     byte[] responseBody) {
    58                 if (responseBody != null) {
    59                     Bitmap bmp = BitmapFactory.decodeByteArray(responseBody, 0,
    60                             responseBody.length);
    61                     imageView.setImageBitmap(bmp);
    62                 }
    63             }
    64 
    65             public void onFailure(int statusCode, Header[] headers,
    66                     byte[] responseBody, Throwable error) {
    67                 error.printStackTrace();
    68             }
    69         });
    70     }
    71 
    72 }

    2.服务器端

     1 package action;
     2 
     3 import java.io.FileInputStream;
     4 import java.io.IOException;
     5 
     6 import java.io.OutputStream;
     7 
     8 import javax.servlet.ServletException;
     9 import javax.servlet.http.HttpServlet;
    10 import javax.servlet.http.HttpServletRequest;
    11 import javax.servlet.http.HttpServletResponse;
    12 
    13 public class ReturnImg extends HttpServlet {
    14 
    15     private static final long serialVersionUID = -70601451108821183L;
    16     private static final String JPG = "image/jpeg;charset=GB2312";
    17 
    18     public void doGet(HttpServletRequest request, HttpServletResponse response)
    19             throws ServletException, IOException {
    20 
    21         doPost(request, response);
    22     }
    23 
    24     public void doPost(HttpServletRequest request, HttpServletResponse response)
    25             throws ServletException, IOException {
    26         System.out.println("do post");
    27         String webRootUrl = request.getServletContext().getRealPath("")
    28                 + "//guan.jpg";
    29         if ("img".equals(request.getParameter("img"))) {
    30 
    31             FileInputStream fis = new FileInputStream(webRootUrl);
    32             int size = fis.available();
    33             byte[] data = new byte[size];
    34             fis.read(data);
    35             fis.close();
    36             response.setContentType(JPG);
    37             OutputStream os = response.getOutputStream();
    38             os.write(data);
    39             os.flush();
    40             os.close();
    41 
    42         }
    43 
    44     }
    45 
    46 }
  • 相关阅读:
    pb9 json,Powerbuilder json parser
    ubuntu 16.04 安装VS CODE时 此软件来自第三方且可能包含非自由组件
    【转】C# XML序列化去掉XML默认的命名空间及声明头
    SQL Server孤立账户解决办法
    mirror op 如果在windows receiver上是黑屏
    C# .net WebRequest HttpWebRequest 禁用系统默认代理。
    解决“chrome adobe flash player不是最新版本”的方法
    python使用sqlalchemy连接pymysql数据库
    python2.0_s12_day11_SqlAlchemy使用介绍
    python2.0_s12_day9_协程&多线程和cpu,磁盘io之间的关系
  • 原文地址:https://www.cnblogs.com/jinglecode/p/4376538.html
Copyright © 2011-2022 走看看