Home » Android » android – java.lang.IllegalArgumentException: Path must not be empty in Picasso

android – java.lang.IllegalArgumentException: Path must not be empty in Picasso

Posted by: admin May 14, 2020 Leave a comment


I am loading image from mysql DB using Picasso into custom listview. The image is loading when the URL is passed directly but when i assign the URL to string and pass it then it throws exception saying Path must not be empty.

String imageStringUrl = md.Image;

Image string contains http://example.com/image.jpg

I am passing in Picasso like below.


When I pass like this I am getting java.lang.IllegalArgumentException: Path must not be empty. I have tried the above step like below but the image is not loading.

.load(new File(imageStringUrl))

What is wrong with the above declaration?

How to&Answers:

I had a similar problem. Just check if your URL string is empty or not. if it is empty give the default image or load from URL. Hope this helps.

if (image.isEmpty()) {
} else{


Just check if your url string is empty or not by first trimming the string path, but do not check like image.isEmpty() but with this check:

if (path.trim().length() == 0)

I checked the code from Picasso and that is how they are checking like this. For reference here is code from their code base:

public RequestCreator load(String path) {
    if (path == null) {
      return new RequestCreator(this, null, 0);
    if (path.trim().length() == 0) {
      throw new IllegalArgumentException("Path must not be empty.");
    return load(Uri.parse(path));


I think your md.Imageis returning an empty string. So try directly put your image url in picasso like this:

.load(" http://xxx.xxx.com/images/New%20folder/Desert.jpg.")

Hope it works.