cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ghrimm
Advocate I
Advocate I

Attachments control: Get file properties/Restrict file type

Has anyone here been able to use the Attachments control and get a file's properties (ie. file name, file type)? Is there a way to restrict the file types a user can upload using the Attachments control in PowerApps?

1 ACCEPTED SOLUTION

Accepted Solutions
dinusc
Microsoft
Microsoft

Hello @ghrimm,

Currently there's no way to prevent of attaching certain files by type. You can however check the file extensions of "attached" files, before those files are submitted to SharePoint. You could allow the user to attach any files but disable the "Submit" button if the user attached restricted files. 

Here is how to check the file extension of the first attached file: 

Last(Split(First(Attachments_Control.Attachments).Name, ".")).Result

You can use any enumerations (ForAll for example) to validate all the files this way.

Hope this helps.

View solution in original post

7 REPLIES 7
dinusc
Microsoft
Microsoft

Hello @ghrimm,

Currently there's no way to prevent of attaching certain files by type. You can however check the file extensions of "attached" files, before those files are submitted to SharePoint. You could allow the user to attach any files but disable the "Submit" button if the user attached restricted files. 

Here is how to check the file extension of the first attached file: 

Last(Split(First(Attachments_Control.Attachments).Name, ".")).Result

You can use any enumerations (ForAll for example) to validate all the files this way.

Hope this helps.

View solution in original post

Thanks for the simple workaround. That returns exactly what I need for hiding/showing controls.

Would you be able to show an example with screenshots from the rule?

In my OnAddFile property, I have the following:

 

UpdateContext({IsADocx : Last(Split(First(dcv_Attachments.Attachments).Name, ".")).Result = "docx"})

KayBell
Regular Visitor

This works great for a single attached file, but doesn't work on multiple attachments.  Only works on first attachment.  Is there a way to check all attachments? 

You can check multiple attachments as you upload them one by one

Using the previous formula (but checking the last attachment, not the first) in the "OnAddFile" action field of the attachments card:

If(Last(Split(Last(DataCardValue15.Attachments).Name, ".")).Result = "xlsx",Set(VarContainsXLSX,true))

Will for example check if there are any excel documents uploaded and set a variable.

This won't detect if someone uploads an xlsx and then deletes it.

Thank you! This worked for me. I am using this to shorten the filename when passed to Flow. When users use the app on their phones and take pics of receipts, the filename is really large and cumbersome. So I am using this to make the file upload to the doc library more palatable.

Thank you so much!!

Helpful resources

Announcements
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

secondImage

Demo Extravaganza is Back!

We are excited to announce that Demo Extravaganza for 2021 has started!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Power Apps June 2021

June Power Apps Community Call

Don't miss the call this month on June 16th - 8a PDT

Top Solution Authors
Top Kudoed Authors
Users online (65,986)