web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Download images from a...
Power Apps
Answered

Download images from a dataverse database

(1) ShareShare
ReportReport
Posted on by 37
Hello -
 
I have watched several videos and read through multiple forums, but alas, I cannot find an answer to my problem.
 
I have a teams power apps generated App whereby team members can attach a picture to a dataverse database record when entering their data (see attached image).
 
However, I cannot figure out a way to download the image once entered into the database.
 
Any help would be most appreciated.
 
cheers,
-mike.
 
 
Screenshot 2026-04-16 082213.png
Categories:
I have the same question (0)
  • Suggested answer
    Valantis Profile Picture
    3,045 on at
    Hi @mike_a,
     
    The easiest way to do this without code is Power Automate. There is a built-in Dataverse action called "Download a file or an image" specifically for this.
    Here is a flow that will download each image and save it to SharePoint or OneDrive:
     
    1. Trigger: manually, on a schedule, or when a row is added
    2. Action: List rows from the Substrates table
    3. Apply to each row
    4. Action: Download a file or an image
       - Table name: Substrates
       - Row ID: the ID from the current row
       - Column name: Picture
    5. Action: Create file in SharePoint (or OneDrive)
       - File name: use the Substrate_ID from the row + .jpg
       - File content: use the file content output from step 4
     
    That will save each image as a file you can open and download normally.
     
    check also: open your Picture column in the Dataverse table settings and confirm it is configured as an Image column type (not a file attachment). The "Download a file or an image" action works with both image and file column types, but the column name you select in step 4 must match exactly.
     
     

     

    Best regards,

    Valantis

     

    ✅ If this helped solve your issue, please Accept as Solution so others can find it quickly.

    ❤️ If it didn’t fully solve it but was still useful, please click “Yes” on “Was this reply helpful?” or leave a Like :).

    🏷️ For follow-ups  @Valantis.

    📝 https://valantisond365.com/

     

  • Vish WR Profile Picture
    604 on at
     
    Not a clean and seamless way
     
    You could try this if your image is stored in an Image column:
        1.    Add an Image control
        2.    Bind it to your field (e.g., ThisItem.YourImageColumn)
        3.    Add a button with:
    Launch(ThisItem.YourImageColumn)
    This opens the image in a browser tab
    From there, users can right-click → Save
     
    Tip: when attaching image in community use image control in the message box here to attach then it appears immediately without scan (only applies to images )
  • Suggested answer
    11manish Profile Picture
    1,196 on at
    Your images are stored as Dataverse Image columns, which support display but not direct download from the grid UI.
     
    To download them, you must either use:
    • Power Automate to export to SharePoint (best approach), or
    • Dataverse Web API to retrieve the image as a file stream
  • mike_a Profile Picture
    37 on at
    Hi Valantis,
     
    Your detailed response is very much appreciated. I previous found several similar suggestions online, and I have been unsuccessful in implementing this method. My power automate flow is attached. I am passing into the flow the Row ID, and generating an image in my onedrive.
     
    However, I am likely passing/generating the Row ID parameter incorrectly. To simplify, working with a single substrate record "2024-01-23-03", I have tried the following with my "testDownload" flow:
     
    testDownload.Run(LookUp(Substrates,Substrate_ID="2024-01-23-03").Substrate_ID);
    => no file is generated in onedrive, no error message is generated when testing the App.
     
    testDownload.Run(LookUp(Substrates,Substrate_ID="2024-01-23-03").crfd9_PictureId);
    => a (corrupted?) 4 byte image file is generated in onedrive, with the name: "image_b9ffa6d8-0abf-ee11-9079-000d3a8e8cf6.png"
     
    any idea where I am making a mistake?
    thanks!
    -mike
    power_automate_flow.png
  • Verified answer
    Valantis Profile Picture
    3,045 on at
    Hi @mike_a,
     
    The issue seems to be that you are passing the wrong ID to the flow.
    The "Download a file or an image" action needs the Dataverse row's primary key GUID, not the Substrate_ID text column value and not the Picture column ID.
    Every Dataverse table has an auto-generated GUID as its true primary key. For your Substrates table it will be a column named something like crfd9_substratesid (the table's logical name + 'id'). That is the GUID that looks like b9ffa6d8-0abf-ee11-9079-000d3a8e8cf6.
    In Power Apps, to get this GUID for a specific record:
    LookUp(Substrates, Substrate_ID="2024-01-23-03").crfd9_substratesid
    To find the exact column name, go to make.powerapps.com > Tables > Substrates > Columns and look for the primary key column (it will have type Unique Identifier and be marked as the primary key).
    So your flow call should be:
    testDownload.Run(LookUp(Substrates, Substrate_ID="2024-01-23-03").crfd9_substratesid)
    That will pass the correct GUID to the Row ID field in your "Download a file or an image" action and the image should download correctly.
     

     

    Best regards,

    Valantis

     

    ✅ If this helped solve your issue, please Accept as Solution so others can find it quickly.

    ❤️ If it didn’t fully solve it but was still useful, please click “Yes” on “Was this reply helpful?” or leave a Like :).

    🏷️ For follow-ups  @Valantis.

    📝 https://valantisond365.com/

     

  • mike_a Profile Picture
    37 on at
    Thanks @Vish_VR,
     
    I tried to implement your suggestion, but it did not seem to work.
     
    I created a simple vertical gallery that uses the Substrates table, and added a button on each row/entry of the gallery that executes the following:
     
    Launch(ThisItem.Picture.Full)
     
    When the button is clicked, a new blank tab is opened by the browser, with no picture included.
     
    Attached is a screenshot of the vertical gallery.
     
    thanks!
    -mike.
    Screenshot 2026-04-16 093650.png
  • mike_a Profile Picture
    37 on at
    Many thanks once again @Valantis,
     
    That did the trick. I had to modify the code slightly from your suggestion. The following was successful in generating an image file in my onedrive:
     
    testDownload.Run(LookUp(Substrates,Substrate_ID="2024-01-23-03").'Substrates (crfd9_substratesid)');
     
    I really appreciate your help! I spent most of yesterday trying to find a solution.
     
    cheers,
    -mike.
  • Valantis Profile Picture
    3,045 on at
    @mike_a You welcome. enjoy your day :)

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the March Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
11manish Profile Picture

11manish 541

#2
WarrenBelz Profile Picture

WarrenBelz 434 Most Valuable Professional

#3
Valantis Profile Picture

Valantis 289

Last 30 days Overall leaderboard