Picasso Загрузить изображение из файловой системы

Можно ли использовать библиотеку Picasso для загрузки изображений из файловой системы?

Я использую startActivityForResult, чтобы пользователь мог выбрать фотографию из своей галереи, а затем отобразить выбранное изображение.

У меня уже есть рабочий код, чтобы получить файловую систему изображения Uri, но не может получить метод Picasso.load().

Ответ 1

Конечно, вы можете. Его фактически довольно прямолинейно:

File f = new File("path-to-file/file.png")

или

File f = new File(uri)

Picasso.with(getActivity()).load(f).into(imageView);

также

Picasso.with(getActivity()).load(uri).into(imageView);

работы

Ответ 2

Да, вы можете.

Try:

Picasso.with(context).load(new File(YOUR_FILE_PATH)).into(imageView);

ИЗМЕНИТЬ

Вы также можете вызвать .load(YOUR_URI).

Ответ 3

В исходном коде я также обнаружил, что вы можете загрузить изображение из файловой системы, добавляя префикс строки file: к вашему пути к изображению. Например:

file:path/to/your/image

Кроме того, при использовании startActivityForResult вы получите что-то вроде этого:

Uri imageContent = data.getData();

Затем вы можете напрямую вызвать Picasso.with(getContext()).load(imageContent.toString).into(imageView); без необходимости создавать Cursor и запрашивать путь к изображению.

Ответ 4

Попробуйте следующее:

Picasso.with(context)
.load("file://"+path) // Add this
.config(Bitmap.Config.RGB_565)
.fit().centerCrop()
.into(imageView);

Он отлично работает для меня.

Ответ 5

В принципе нам нужны три вещи: Context, image´s path и ImageView Container

Picasso.with(context).load("/files/my_image.jpg").into(myImageView);

но мы можем использовать больше опций:

  .resize(20, 20)
  .centerCrop()
  .placeholder(R.drawable.user_placeholder)
  .error(R.drawable.user_placeholder_error)

и т.д...

Дополнительная информация: http://square.github.io/picasso/