Where are Microsoft Lists images stored in 2024?

Microsoft Lists is a powerful tool that allows you to create and manage data in various scenarios. One of the features that makes Lists stand out is the image column field, which lets you upload an image directly from the form, without having to use a hyperlink column and manually upload the image to SharePoint.

But where are these images stored? And how can you access them if you need to? In this blog post, I will explain how the image column storage has changed over time and what are the implications for end users and developers.

Microsoft List Images storage

How it used to work

When Microsoft Lists were first introduced, the images uploaded via the image column field were stored in the Site Assets library of the SharePoint site where the list was created. Inside the Site Assets library, there was a folder with the same ID as the list, and inside that folder, there were the images for each of the items.

This meant that you could easily access the images from the SharePoint interface, by navigating to the Site Assets library and browsing the folders.

How it works now

Recently, Microsoft has changed the way the image column field works. Now, the images uploaded via the image column field are attached to the list item, but not in the usual way. They are hidden attachments, which means that you cannot see them in the attachments section of the item, nor can you manage them from the SharePoint interface.

This means that the images are no longer stored in the Site Assets library, and you cannot access them by browsing the folders.

What are the implications of this change?

For the end user, there are no implications if they are using the out of the box experience without any customizations applied to the list. Everything will continue to work as it always did, and the images will be displayed in the list view and the item form.

However, if you have applied some list formatting to the list, and you are using the image column field to show the images in a different way, you may need to update your JSON code to reflect the new way of accessing the images. Specifically, you need to use the =getThumbnailImage(@currentField, 400, 200) function to get the URL of the image, instead of using the =@currentField.serverRelativeUrl property. You can learn more about how to use this function in my previous blog post here.

If you are a developer, or if you are trying to access the images using Power Automate or other tools, you need to use the SharePoint API to get the hidden attachments for the item. This will allow you to get the direct link to the image that you can then use in your solutions.

_api/lists/getbyid('LIST_ID')/items('ITEM_ID')/AttachmentFiles

What about old lists?

You may be wondering what happens to the old lists that were created before the change, and that already have images stored in the Site Assets library. Well, the good news is that nothing changes for them. They will continue to work as they always did, and the images will remain in the Site Assets library. You can still access them from the SharePoint interface as described above.

Conclusion

In this blog post, I have explained where are Microsoft Lists images stored in 2024, and how the image storage has changed over time. I have also discussed the implications of this change for end users and developers, and how to access the images using the SharePoint API.

I hope you found this blog post useful and informative. If you have any questions or feedback, please leave a comment below or contact me via email. Thank you for reading! 🙂


8 Responses to “Where are Microsoft Lists images stored in 2024?”

  1. Nigel

    February 2, 2024

    Great update, thanks.

    Reply
  2. Matt

    February 2, 2024

    Thanks. Good to know since I just created a list which will use images.

    Reply
  3. Andy Tuke

    February 2, 2024

    That explains a lot, I’ve been trying to work with Power Automate populating an image column, it seems that if you use the Site Assets folder to store the image then it works in normal list view, but in Tiles view it cant find the file. I was wondering if there was a hidden thumbnail somewhere I need to generate.
    Have you tried writing to an image column using a Flow?

    Reply
    • João Ferreira

      February 2, 2024

      Hi Andy,

      The issue you are describing could be related to this update in the image column.
      I used Power Automate in the past to populate the list with the image and it worked without any issue, I’ll give it a try and let you know what I discover.

      Have a nice day 🙂

      Reply
    • João Ferreira

      February 2, 2024

      Hi again Andy,

      I did a quick test with the new attachment method with Power Automate and it is working in both list view and tiles.

      In the following image you can see the flow:

      1 – First I created the item
      2 – Then get the image file, to test it I already had the image stored in SharePoint
      3 – Added the attachment to the list
      4 – Update the list item to point the image column to the attachment

      The only thing I wasn’t able to figure out yet is how to make the attachment hidden in the item, following this method will display the image in the list of attachments.

      Hope this helps.

      Have a nice weekend 🙂

      Reply
      • Andy+Tuke

        February 5, 2024

        Hi João
        Trying your suggestion, the Send an HTTP Request action seems to be hanging. My image column is called Picture. I was going to post a screen shot but dont see the ability to do so

        Anyway, the UrI is resolves looks ok
        _api/web/lists/getbytitle(‘Stock Exchange’)/items(’17’)

        The headers match yours

        The body results as this:

        {
        “__metadata”: {
        “type”: “SP.Data.StockExchangeListItem”
        },
        “Title”:”Office Cabinet”,
        “Picture”:”{\fileName\”:\”thumbnail.jpg\”}”
        }

        Any help would be really appreciated

        Reply
        • João Ferreira

          February 5, 2024

          Hi Andy,

          If your list has a space in the name your type in the metadata should be “SP.Data.Stock_x0020_ExchangeListItem”.

          You can use the SharePoint Online Client Browser to check the actual name.

          If the issue persists you can send me the screenshot by email.

          Hope this helps.

          Reply
  4. Andy+Tuke

    February 2, 2024

    Thanks mate, I’ll have a try with that method.
    Hopefully MS will implement proper support for Image columns via Power Automate soon and this will get easier.

    Reply

Leave a Reply


I've been working with Microsoft Technologies over the last ten years, mainly focused on creating collaboration and productivity solutions that drive the adoption of Microsoft Modern Workplace.