通过android利用tomcat获取到电脑硬盘中的图片

在eclipse中找到servers中server.xml

打开这个文件插入一个新的host结点

插入以下代码

<Service name="newtest">
    <Connector URIEncoding="GBK" connectionTimeout="20000" port="8089" protocol="HTTP/1.1" redirectPort="8443"/>
     <Engine defaultHost="localhost" name="newtest">
     <Host appBase="webapps" autoDeploy="true" name="192.168.1.106" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
     <Context docBase="E:\A_HW" path="/images" reloadable="false"/>
    </Host> 
    </Engine>
</Service>

 

192.168.1.106 是我的ip,请改成自己的ip
E:\A_HW 是我磁盘中放图片的路径
之后就可以通过http://192.168.1.106:8080/images/mm.JPG访问到我E:\A_HW\mm.JPG

注意:文件名一定要一致,mm.JPG在磁盘中是这个名字,访问时JPG就一定要大写


Android端

private void downloadPic() {
        OkHttpClient okHttpClient = new OkHttpClient();
        Request request = new Request.Builder()
                .url("http://192.168.1.106:8089/images/mm.JPG")
                .build();
        okHttpClient.newCall(request).enqueue(new Callback() {
            public void onFailure(Call call, IOException e) {

            }
            public void onResponse(Call call, Response response) throws IOException {
                InputStream inputStream = response.body().byteStream();//得到图片的流
                Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
                Message msg = new Message();
                msg.obj = bitmap;
                handler.sendMessage(msg);
            }
        });
再通过imageView显示出来
imageView.setImageBitmap(bitmap);//将图片的流转换成图片

就可以了

 

 注意:安卓之中如果有 下载 和 上传,需要分配 两个不同的端口。我下载是默认8080端口,所以上面上传我分配了8089端口。

 

posted on 2018-05-22 23:51  石墨方  阅读(406)  评论(0编辑  收藏  举报

导航