毕加索无法在本地加载图像

时间:2017-04-01 11:45:32

标签: java image save picasso

我尝试下载图片并将其保存在本地。一切都运行我没有得到任何例外,但文件不会出现在我的位置

我搜索了一个解决方案,但没有找到任何解决方案。

继承我的代码:

private void saveImages() {
    try{
        final File thumbsPath = new File(getExternalFilesDir(null), "thumbs");
        if (!thumbsPath.exists())
            thumbsPath.mkdirs();
        Target target = new Target(){
            @Override
            public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {

                        File file = new File(thumbsPath.getAbsolutePath() + "/file.jpeg"); //folder exists
                        try {
                            file.createNewFile();
                            FileOutputStream ostream = new FileOutputStream(file);
                            bitmap.compress(Bitmap.CompressFormat.JPEG, 80, ostream);
                            ostream.flush();
                            ostream.close();
                        } catch (Exception e) {
                            Log.e("ERROR", e.getMessage());
                        }
                    }
                }).start();
            }

            @Override
            public void onBitmapFailed(Drawable errorDrawable) {
                Log.e("ERROR", "");
            }

            @Override
            public void onPrepareLoad(Drawable placeHolderDrawable) {
                Log.e("ERROR", "");
            }
        };
        Picasso.with(getApplicationContext())
                .load(myurltodownloadfrom)
                .into(target);
    }
    catch (Exception e){
        Log.e("ERROR",e.getMessage());
    }
}

1 个答案:

答案 0 :(得分:0)

永远不要以那种方式存储文件。 这里全部介绍:https://developer.android.com/training/basics/data-storage/files.html

相关问题