Пикассо скачать изображение с URL - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь сохранить изображение с URL-адреса с помощью Jsonparse и Picasso. Я не могу сохранить изображение в моем локальном каталоге

Это код JsonParse, который я анализирую imageurl на imageview

    String url = "https://api.nasa.gov/planetary/apod?api_key=hhOItewgwlQmkaSH6xq7aZMpnLqCisxdUdomDfi3&date=" + urldate;
    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            try {

                response.getString("title");
                response.getString("explanation");
                response.getString("date");
                String image_date = respons`enter code here`e.getString("date");
                String image_info = response.getString("explanation");
                String imagename = response.getString("title");
                String image_url = response.getString("url");

                imagedate.setText(image_date);
                imageinfo.setText(image_info);
                imagetitle.setText(imagename);

                Picasso.get().load(image_url).fit().centerInside().into(imageView);
                URL = image_url;

            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            error.printStackTrace();
        }
    });
    requestQueue.add(request);

И это пытается сохранить изображение с разрешениями, но оно не работает

public void DownloadImage(String url) {
    Picasso.get().load(url).into(new Target() {
        @Override
        public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
            try {
                File mydir = new File(Environment.getExternalStorageDirectory() +"");
                if (!mydir.exists()) {
                    mydir.mkdirs();
                }

                fileUri = mydir.getAbsolutePath() + File.separator + System.currentTimeMillis() + ".jpg";
                FileOutputStream outputStream = new FileOutputStream(fileUri);

                bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream);
                outputStream.flush();
                outputStream.close();
            } catch(IOException e) {
                e.printStackTrace();
            }
            Toast.makeText(getApplicationContext(), "Image Downloaded", Toast.LENGTH_LONG).show();
        }

        @Override
        public void onBitmapFailed(Exception e, Drawable errorDrawable) {
        }
        @Override
        public void onPrepareLoad(Drawable placeHolderDrawable) {
        }
    });
}

Получение этого исключения

Здесь исключение

Разрешения

...