图片下载 图片缓存-android下载图片保存到本地图片大小为0KB,是什么原因??求大神解决

问题描述

android下载图片保存到本地图片大小为0KB,是什么原因??求大神解决

public Drawable loadImageFromUrl(String urlPath, String directory,
String filename) {
byte[] data = null;
InputStream is = null;
Drawable drawable = null;
HttpURLConnection conn = null;
URL url = null;
try {
url = new URL(urlPath);
} catch (Exception e) {
e.printStackTrace();
return drawable;
}
try {
conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
// conn.setDoOutput(true);
conn.setRequestMethod("GET");
conn.setConnectTimeout(6000);
is = conn.getInputStream();
if (conn.getResponseCode() == 200) {
BitmapFactory.Options opts = new BitmapFactory.Options();
data = readInputStream(is);
//处理图片溢出
opts.inJustDecodeBounds = true;
BitmapFactory.decodeByteArray(data, 0, data.length, opts);
opts.inSampleSize = computeSampleSize(opts, -1, AppContext.getScreenHeight()*AppContext.getScreenWidth());
opts.inJustDecodeBounds = false;

            Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0,
                    data.length, opts);

            drawable = (Drawable) new BitmapDrawable(bitmap);
            // 如果目录和图片名称存在,保存图片
            if (null != directory && null != filename) {
                // 创建目录,保存图片
                if (hasStorage(true, directory)) {
                    // 目录地址
                    String directoryName = SDPATH + directory;
                    // 创建文件
                    File file = new File(directoryName, filename);

                    BufferedOutputStream bos = new BufferedOutputStream(
                            new FileOutputStream(file));

                    // 获取图片的格式
                    String dat = filename.substring(filename
                            .lastIndexOf(".") + 1);
                    Log.d(TAG, "图片格式1111111111:" + dat);
                    if ("jpg".equals(dat)) {
                        bitmap.compress(Bitmap.CompressFormat.JPEG, 90, bos);
                    } else if ("png".equals(dat)) {
                        bitmap.compress(Bitmap.CompressFormat.PNG, 90, bos);
                    }

                    bos.flush();
                    bos.close();
                } else {
                    Log.d(TAG, "save picture failed");
                }
            }

        } else {
            data = null;
        }
    } catch (Exception e) {
        e.printStackTrace();
        drawable = null;
    } finally {
        try {
            if (is != null) {
                is.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        conn.disconnect();
    }

    return drawable;
}

解决方案

0k的话,主要还是考虑请求没有成功,图片根本没有传到android端的情况

时间: 2024-10-31 23:40:24

图片下载 图片缓存-android下载图片保存到本地图片大小为0KB,是什么原因??求大神解决的相关文章

在网上下载了一个zint-2.4.3的源码 用qt编译的时候 编译不过 求大神帮忙

问题描述 在网上下载了一个zint-2.4.3的源码 用qt编译的时候 编译不过 求大神帮忙 在网上下载了一个zint-2.4.3的源码 用qt编译的时候 编译不过 求大神帮忙

设计一个android引导页面的动画,最好是透明渐变动画效果,求大神帮忙!

问题描述 设计一个android引导页面的动画,最好是透明渐变动画效果,求大神帮忙! 设计一个android引导页面的动画,最好是透明渐变动画效果,大概样式就像APP微信精选那个引导页面那种样式,求大神帮忙给个Demo! 解决方案 之前回复的都回复不了,现在重新再给你回复一遍吧,首先创建三个Fragment,我现在给你举一个例子: public class WelcomeFragment1 extends Fragment { @Override public void onCreate(Bun

android汤姆猫怎么点击各个身体部分实现各个动作求大神解答新手

问题描述 android汤姆猫怎么点击各个身体部分实现各个动作求大神解答新手 汤姆猫怎么点击各个身体部分实现各个动作汤姆猫怎么点击各个身体部分实现各个动作汤姆猫怎么点击各个身体部分实现各个动作汤姆猫怎么点击各个身体部分实现各个动作 解决方案 根据点击的位置不同,播放不同的动画就行了

android recyclerview一行显示一列,下一行显示三列 ,求大神指导这个怎么写???

问题描述 android recyclerview一行显示一列,下一行显示三列 ,求大神指导这个怎么写??? 如题~~~~想了很久 ,没有思路,求大神指导~~~~~~~~!! 解决方案 这个是布局问题,做个判断就可以了

android图像绘制(六)获取本地图片或拍照图片等图片资源_Android

从SD卡中获取图片资源,或者拍一张新的图片. 先贴代码 获取图片: 注释:拍照获取的话,可以指定图片的保存地址,在此不说明. 复制代码 代码如下: CharSequence[] items = {"相册", "相机"}; new AlertDialog.Builder(this) .setTitle("选择图片来源") .setItems(items, new OnClickListener() { public void onClick(Dia

android图像绘制(六)获取本地图片或拍照图片等图片资源

从SD卡中获取图片资源,或者拍一张新的图片. 先贴代码 获取图片: 注释:拍照获取的话,可以指定图片的保存地址,在此不说明. 复制代码 代码如下: CharSequence[] items = {"相册", "相机"}; new AlertDialog.Builder(this) .setTitle("选择图片来源") .setItems(items, new OnClickListener() { public void onClick(Dia

用eclipse做java项目,想要得到图片轮换是下方附带相应的文字说明的效果,不知道该怎样做!求大神指导!

问题描述 用eclipse做java项目,想要得到图片轮换是下方附带相应的文字说明的效果,不知道该怎样做!效果类似下图!求大神指导!目前只用imageswitcher做了图片切换!急用,忘大神解答,感激不尽!如果可以,请把源码发邮箱18389593580@163.com 解决方案 解决方案二:刚一来就遇见伸手党解决方案三:我也想做大神,奈何就是一啥都不懂的菜鸟!见谅!

Android中ImageView实现选择本地图片并显示功能

运行结果: 模拟器图库就三张 没办法~画质挺感人~ 一个隐式意图 布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height=&qu

android开发-请问里面 的strResult如何给主线程用啊,求大神解答,最好简单写下代码

问题描述 请问里面 的strResult如何给主线程用啊,求大神解答,最好简单写下代码 new Thread(new Runnable() { @Override public void run() { Looper.prepare(); // TODO Auto-generated method stub String path = "http://www.shopmanage.com/landlady/spm"; // String path = "http://221.