{"id":93,"date":"2018-05-14T12:00:17","date_gmt":"2018-05-14T19:00:17","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/"},"modified":"2025-06-11T08:08:41","modified_gmt":"2025-06-11T15:08:41","slug":"upload-files-from-powerapps-using-the-azure-blob-storage-connector","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/","title":{"rendered":"Upload files from PowerApps using the Azure Blob Storage connector"},"content":{"rendered":"<p>\u00a0<\/p>\n<p>One of the more common request we have seen from customers is that they want to use PowerApps and use Azure Blob storage to store their media files. So far, this has not been possible out of the box \u2013 and customers have had to use workaround using a custom API (<a href=\"https:\/\/powerapps.microsoft.com\/en-us\/blog\/custom-api-for-image-upload\/\">https:\/\/powerapps.microsoft.com\/en-us\/blog\/custom-api-for-image-upload\/<\/a> ). Well, no more. With this update, you can now directly use the Azure Blog Storage connector from PowerApps to load or save images and other media. Not only that, you can share the app with users \u2013 and they will be able to use your app without you having to share the account keys to y our Blob store.<\/p>\n<p>\u00a0<\/p>\n<p><b>Azure Blob Storage Setup<\/b><\/p>\n<p>To enable Azure Blob Storage in an app, you will need to get the following information:<\/p>\n<ul>\n<li>Azure Storage Account Name<\/li>\n<li>Azure Storage Account Access Key<\/li>\n<\/ul>\n<p>If your organization has not signed up for Azure Blob Storage, you can follow these steps to sign up:<\/p>\n<ul>\n<li>Go to <a href=\"https:\/\/Portal.Azure.com\">https:\/\/Portal.Azure.com<\/a><\/li>\n<li>Login with your organization email and password<\/li>\n<li>Select <b>Create a Resource<\/b> on the top left<\/li>\n<\/ul>\n<blockquote>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/850a7f79-726e-4c02-84ec-b91323a7bfb4.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image002[4]\" border=\"0\" height=\"56\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/850a7f79-726e-4c02-84ec-b91323a7bfb4.png\" style=\"margin: 0px; display: inline; background-image: none;\" title=\"clip_image002[4]\" width=\"181\"\/><\/a><\/p>\n<\/blockquote>\n<ul>\n<li>Search for <b>Storage Account<\/b><\/li>\n<li>Select <b>Storage account \u2013 blob, file, table, queue<\/b><\/li>\n<\/ul>\n<blockquote>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/ade6e873-a10a-4648-b062-a30384fee17f.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image004[4]\" border=\"0\" height=\"57\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/ade6e873-a10a-4648-b062-a30384fee17f.png\" style=\"display: inline; background-image: none;\" title=\"clip_image004[4]\" width=\"425\"\/><\/a><\/p>\n<\/blockquote>\n<ul>\n<li>Select the <b>Create<\/b> button<\/li>\n<li>Fill in the details about your new blob then select <b>Create<\/b>, this will create the blob storage\n<ul>\n<li>The name of your blob that you create will be used as the <b>Azure Storage Account Name<\/b> when you setup your connection<\/li>\n<\/ul>\n<\/li>\n<li>Once the blob storage is created, you will see a property called <b>Access keys<\/b> click on that and copy one of the two keys that have been created for you<\/li>\n<\/ul>\n<blockquote>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/9be4f0f4-fc1c-432d-baf4-1d903b887e12.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image006[4]\" border=\"0\" height=\"60\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/9be4f0f4-fc1c-432d-baf4-1d903b887e12.png\" style=\"display: inline; background-image: none;\" title=\"clip_image006[4]\" width=\"165\"\/><\/a><\/p>\n<\/blockquote>\n<p>\u00a0<\/p>\n<p><b>Canvas app setup for Azure Blob Storage<\/b><\/p>\n<p>Let me show you how to quickly build an app where you can display and upload images from\/to your Blob store. We will use two Gallery, the first one to browse a container, and the second one that displays the files in the selected container. Finally, we will use some of the controls to show the user the files in your blob storage.<\/p>\n<p>\u00a0<\/p>\n<p>Follow\u00a0 these steps to use the Azure Blob Storage connector in your app:<\/p>\n<ul>\n<li>Create a new app<\/li>\n<li>Add the Azure Blob connector to your app by going to <b>View<\/b> &gt; <b>Data<\/b> <b>Sources<\/b> &gt; <b>Add a Data Source &gt; New Connection &gt; Azure Blob Storage<\/b><\/li>\n<li>Select the Azure Blob Storage connector and fill in the details that you created.<\/li>\n<\/ul>\n<blockquote>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/7aa5da96-259b-408f-9763-e065022c7950.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image002[6]\" border=\"0\" height=\"151\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/7aa5da96-259b-408f-9763-e065022c7950.png\" style=\"margin: 0px; display: inline; background-image: none;\" title=\"clip_image002[6]\" width=\"244\"\/><\/a><\/p>\n<\/blockquote>\n<ul>\n<li>Add a new blank vertical gallery by going to <b>Insert<\/b> &gt; <b>Gallery<\/b> &gt; <b>Blank vertical<\/b>\n<ul>\n<li>Change the layout to a Title gallery by clicking on the gallery then going to the right property panel and clicking on Layout to change it<\/li>\n<li>Set the Items property of the gallery to: AzureBlobStorage.ListRootFolderV2().value<\/li>\n<li>This will show you the highest-level containers that are available to store \/ retrieve your files<\/li>\n<li>If you do not have any items show, you can download the Microsoft Azure Storage Explorer (<a href=\"https:\/\/azure.microsoft.com\/en-us\/features\/storage-explorer\/\">https:\/\/azure.microsoft.com\/en-us\/features\/storage-explorer\/<\/a> ) which will allow you to login and add containers<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<ul>\n<li>Add another new blank vertical gallery by going to <b>Insert<\/b> &gt; <b>Gallery<\/b> &gt; <b>Blank vertical<\/b>\n<ul>\n<li>Set the layout to Image, title, subtitle and body<\/li>\n<li>Set the Items property to: AzureBlobStorage.ListFolderV2(Gallery1.Selected.Id).value<\/li>\n<li>Change the following items in the data panel\n<ul>\n<li>Body to <b>Path<\/b><\/li>\n<li>Subtitle to <b>MediaType<\/b><\/li>\n<li>Title to <b>DisplayName<\/b><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<blockquote>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/dca91f16-b053-482a-9fac-2fd62bf0ab2c.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image004[6]\" border=\"0\" height=\"244\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/dca91f16-b053-482a-9fac-2fd62bf0ab2c.png\" style=\"display: inline; background-image: none;\" title=\"clip_image004[6]\" width=\"185\"\/><\/a><\/p>\n<\/blockquote>\n<ul>\n<li>Click on the first image in the gallery and set it to &#8211;\u00a0AzureBlobStorage.GetFileContent(ThisItem.Id) or\u00a0 &#8220;https:\/\/YourStorageAccountName.blob.core.windows.net&#8221; &amp; ThisItem.Path **\n<ul>\n<li>You can use the MediaType to pass the path and URL to any type of supported control in PowerApps such as:\n<ul>\n<li>PDF Viewer<\/li>\n<li>Image<\/li>\n<li>Audio<\/li>\n<li>Video<\/li>\n<li>** Change YourStorageAccountName to your actual store account name if you used that option.\u00a0 This option is only if you set your blob storage to public access.\u00a0 If your blob storage container is locked down (which is the default and recommended) then you can use the <strong>GetFileContent <\/strong>method.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p><b>Upload Files to Blob Storage<\/b><\/p>\n<p>Your app can now display files from blob storage into a gallery, now let\u2019s add a way for users to upload new files to blob storage.<\/p>\n<ul>\n<li>Add an upload control to send a file to your blob storage by going to <b>Insert<\/b> &gt; <b>Media<\/b> &gt; <b>Add<\/b> <b>Picture<\/b>\n<ul>\n<li>Add a Textbox to your canvas app so you can name the file by going to <b>Insert<\/b> &gt; <b>Text<\/b> &gt; <b>Text Input<\/b><\/li>\n<li>Add a button to your app for the user to click on it to upload the file by going to <b>Insert<\/b> &gt; <b>Button<\/b>\n<ul>\n<li>For the <b>OnSelect<\/b> property of the button add : AzureBlobStorage.CreateFile(&#8220;myfiles&#8221;,TextInput1.Text,UploadedImage1.Image)<\/li>\n<li><b>myfiles<\/b> will need to be updated to the directory you want your files to be uploaded to<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><b>Refreshing Galleries Azure Blob Storage<\/b><\/p>\n<p>The blob connector does not auto refresh when data is updated in it. To solve this, you can add the following:<\/p>\n<ul>\n<li>To the button <b>OnSelect<\/b> property add:\n<ul>\n<li>;ClearCollect(TopLevelList, AzureBlobStorage.ListRootFolderV2().value)<\/li>\n<\/ul>\n<\/li>\n<li>To the screen <b>OnVisible<\/b> add:\n<ul>\n<li>ClearCollect(TopLevelList, AzureBlobStorage.ListRootFolderV2().value)<\/li>\n<\/ul>\n<\/li>\n<li>Update the first gallery you created that contains the high-level folders\n<ul>\n<li>Set the items to: TopLevelList<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>You can now try out your blob storage app by playing the app, uploading a file, put a full name (with the extension) in the text box and clicking on the button. Do not forget to change the popup window filter to All Files (button right) when it pops up (if you are trying this out from a browser).<\/p>\n<blockquote>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/802fb642-5a9c-44ad-b3b8-4087a1d6495f.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image002[8]\" border=\"0\" height=\"62\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/802fb642-5a9c-44ad-b3b8-4087a1d6495f.png\" style=\"display: inline; background-image: none;\" title=\"clip_image002[8]\" width=\"391\"\/><\/a><\/p>\n<\/blockquote>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><b>Using your files in an app<\/b><\/p>\n<p>Now that you can have users upload files or use the camera \/ pen and other controls to send the files to Azure Blob Storage, you will want to show those files back to users.<\/p>\n<p>You can check the Media type or file extension to show or hide several types of controls on your canvas.<\/p>\n<p>Try using these based on the example:<\/p>\n<blockquote>\n<p><strong>PDF Document Property<\/strong>:<\/p>\n<p>If(&#8220;.pdf&#8221; in Gallery2.Selected.Path, AzureBlobStorage.GetFileContent(Gallery2.Selected.Id))<\/p>\n<p><strong>Image Property<\/strong>:<\/p>\n<p>If(&#8220;image\/&#8221; in Gallery2.Selected.MediaType,AzureBlobStorage.GetFileContent(Gallery2.Selected.Id))<\/p>\n<p><strong>Video Media Property<\/strong>:<\/p>\n<p>If(&#8220;video\/&#8221; in Gallery2.Selected.MediaType,AzureBlobStorage.GetFileContent(Gallery2.Selected.Id))<\/p>\n<p><strong>Audio Media Property<\/strong>:<\/p>\n<p>If(&#8220;audio\/&#8221; in Gallery2.Selected.MediaType,AzureBlobStorage.GetFileContent(Gallery2.Selected.Id))<\/p>\n<\/blockquote>\n<p>\u00a0<\/p>\n<p>You can also show your user when you do not have a control that will play a certain type of document. Add a label control set the Text to \u201cDocument not available in PowerApps\u201d and use this as the visible property:<\/p>\n<blockquote>\n<p>If(&#8220;video\/&#8221; in Gallery2.Selected.MediaType || &#8220;image\/&#8221; in Gallery2.Selected.MediaType || &#8220;audio\/&#8221; in Gallery2.Selected.MediaType || &#8220;.pdf&#8221; in Gallery2.Selected.Path,false,true)<\/p>\n<\/blockquote>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><strong>Security for your Azure Blob Storage files<\/strong><\/p>\n<p>You will want to secure your Azure Blob Storage files. Each container can have a different Public Access Level assigned to it. In Microsoft Azure Storage Explorer, you can click on a blob storage container, go to the actions tab on the bottom left of the screen and view your access settings.<\/p>\n<blockquote>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/7e9423c9-4109-4c91-8f68-357aeee86ae1.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image002[10]\" border=\"0\" height=\"205\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/7e9423c9-4109-4c91-8f68-357aeee86ae1.png\" style=\"display: inline; background-image: none;\" title=\"clip_image002[10]\" width=\"244\"\/><\/a><\/p>\n<\/blockquote>\n<p>The first setting (no public access) will restrict access from viewing \/ downloading the file even if the user has the URL to that file. If you want to lock down your files online, this is the setting you need to select. If you select that option and click Apply, you will notice your app may stop showing you any images.<\/p>\n<p>\u00a0<\/p>\n<p>If you are using the GetFileContent like we did above for the PDF then everything will continue to work &#8211; AzureBlobStorage.GetFileContent(Gallery2.Selected.Id). If you hard coded in your URL with the storage account name, then you will need do to the following:<\/p>\n<p>\u00a0<\/p>\n<p>To secure your files and allow your app to show them to your users, you will need to setup a Shared Access Signature. This will assign a key to all the files in your container and will not allow them to be shown unless a special key is appended to the URL.<\/p>\n<p>\u00a0<\/p>\n<p>In Microsoft Azure Storage Explorer, you can click on a blob storage container, go to the actions tab on the bottom left of the screen and navigate to <b>Get Shared Access Signature.<\/b><\/p>\n<blockquote>\n<p><a href=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/da13b305-0942-447f-9c0a-00d43f1906dc.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"clip_image004[8]\" border=\"0\" height=\"244\" src=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/da13b305-0942-447f-9c0a-00d43f1906dc.png\" style=\"display: inline; background-image: none;\" title=\"clip_image004[8]\" width=\"223\"\/><\/a><\/p>\n<\/blockquote>\n<p>Set the <b>expiry time<\/b> to a date in the future. This will create a key when you click create that will expire based on the date time that you set in the box. Your key will <b><u>stop<\/u><\/b> working on this date.<\/p>\n<p>Copy the <b>Query string<\/b> on the next page to use it in your app. In your app append the query string to the end of any URL in a control where you are viewing an item. You can do this in the app directly (not recommended) or store the key in a different data source and use that data source to insert into the key.<\/p>\n<p>For example, in the gallery that is showing images back to your users, you will need to change the image property of that image:<\/p>\n<ul>\n<li>From: \u201chttps:\/\/<b>YourStorageAccountName<\/b>.blob.core.windows.net&#8221; &amp; ThisItem.Path<\/li>\n<li>To: \u201chttps:\/\/<b>YourStorageAccountName<\/b>.blob.core.windows.net&#8221; &amp; ThisItem.Path &amp; \u201c?st=YourKey\u201d<\/li>\n<\/ul>\n<p>If you need to lock down your files and have a URL you can send to an outside customer, you can use the <b>CreateShareLinkByPath<\/b> function. This will lock down the file to a period you can set and generate a URL for that file that can be used by users outside of your app.<\/p>\n<p>To try out the <b>CreateShareLinkByPath<\/b> function do the following:<\/p>\n<ul>\n<li>Click on the first record in the gallery showing all your files<\/li>\n<li>Add a button to the gallery (if you did this correctly, you will see one button per record)<\/li>\n<li><b>OnSelect<\/b> of the button add the following:\n<ul>\n<li>Launch(AzureBlobStorage.CreateShareLinkByPath(ThisItem.Path).WebUrl)\n<ul>\n<li>Optional items after the path will show in PowerApps, I use the <b>ExpiryTime<\/b> to set a timeout for the file an example would look like:\n<ul>\n<li>Launch(AzureBlobStorage.CreateShareLinkByPath(ThisItem.Path,{ExpiryTime:DateValue(&#8220;1\/1\/2050&#8221;)}).WebUrl)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>You can now create or update your apps to include Azure Blob Storage files. You can lock down the files if you would like to and show your users the supported files back in PowerApps.<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><b>Sharing an app you made that uses this connector<\/b><\/p>\n<p>After your app is made you will want to share that with your team. The wonderful thing with this connector is when you share the app, your team will get access to use the connector automatically and will not have to bring their own key to access the blob storage. With the previous version you would have to give each team member your access information to allow them to use it.<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><b>Current users of the Azure Blob Connector<\/b><\/p>\n<p>If you are currently using the Azure Blob Connector in your app it will continue to work. As you share your current app with other team members it will continue to work as it did before. If you need to update your app that will also continue to work. However, you will not be able to add new Excel data source from your blob storage.<\/p>\n<p>You can use the following connectors that support Excel as a connection:<\/p>\n<ul>\n<li>One Drive<\/li>\n<li>Box<\/li>\n<li>DropBox<\/li>\n<li>Google Drive<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><b>Additional Resources<\/b><\/p>\n<p>As you add Azure Blob Storage to your apps, you can begin to leverage all the power of the Azure Platform.<\/p>\n<p>For our developer friends, here are a few examples of additional resources that might be helpful:<\/p>\n<ul>\n<li>Auto generate thumbnails: <a href=\"https:\/\/github.com\/Azure-Samples\/function-image-upload-resize\">https:\/\/github.com\/Azure-Samples\/function-image-upload-resize<\/a><\/li>\n<li>Azure Functions with blog storage: <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-functions\/functions-bindings-storage-blob\">https:\/\/docs.microsoft.com\/en-us\/azure\/azure-functions\/functions-bindings-storage-blob<\/a><\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>We are excited to release this functionality to you, let us know what you think.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the more common request we have seen from customers is that they want to use PowerApps and use Azure Blob storage to store their media files.<\/p>\n","protected":false},"author":87,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","ms-ems-related-posts":[],"footnotes":""},"audience":[3378],"content-type":[3424],"job-role":[],"product":[3473],"property":[],"topic":[],"coauthors":[2135],"class_list":["post-93","post","type-post","status-publish","format-standard","hentry","audience-it-professional","content-type-news","product-power-apps"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Upload files from PowerApps using the Azure Blob Storage connector - Microsoft Power Platform Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Upload files from PowerApps using the Azure Blob Storage connector - Microsoft Power Platform Blog\" \/>\n<meta property=\"og:description\" content=\"One of the more common request we have seen from customers is that they want to use PowerApps and use Azure Blob storage to store their media files.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Power Platform Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-14T19:00:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-11T15:08:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/850a7f79-726e-4c02-84ec-b91323a7bfb4.png\" \/>\n<meta name=\"author\" content=\"Evan Chaki\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Evan Chaki\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/\"},\"author\":[{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/evan-chaki\/\",\"@type\":\"Person\",\"@name\":\"Evan Chaki\"}],\"headline\":\"Upload files from PowerApps using the Azure Blob Storage connector\",\"datePublished\":\"2018-05-14T19:00:17+00:00\",\"dateModified\":\"2025-06-11T15:08:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/\"},\"wordCount\":1916,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/850a7f79-726e-4c02-84ec-b91323a7bfb4.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/\",\"name\":\"Upload files from PowerApps using the Azure Blob Storage connector - Microsoft Power Platform Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/850a7f79-726e-4c02-84ec-b91323a7bfb4.png\",\"datePublished\":\"2018-05-14T19:00:17+00:00\",\"dateModified\":\"2025-06-11T15:08:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#primaryimage\",\"url\":\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/850a7f79-726e-4c02-84ec-b91323a7bfb4.png\",\"contentUrl\":\"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/850a7f79-726e-4c02-84ec-b91323a7bfb4.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Upload files from PowerApps using the Azure Blob Storage connector\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\",\"name\":\"Microsoft Power Platform Blog\",\"description\":\"Innovate with Business Apps\",\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\",\"name\":\"Microsoft Power Platform Blog\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png\",\"contentUrl\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png\",\"width\":194,\"height\":145,\"caption\":\"Microsoft Power Platform Blog\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/person\/98aacde8099b676ab8c7d46a5f2793bb\",\"name\":\"Evan Chaki\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/c7b4f1ac40e2b80cc4069d38791ead340f454cfc6c78cc15793ca9d6301de400?s=96&d=mm&r=g8090c1afb2732c0e5cf53ed5da525495\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c7b4f1ac40e2b80cc4069d38791ead340f454cfc6c78cc15793ca9d6301de400?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c7b4f1ac40e2b80cc4069d38791ead340f454cfc6c78cc15793ca9d6301de400?s=96&d=mm&r=g\",\"caption\":\"Evan Chaki\"},\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/evchaki\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Upload files from PowerApps using the Azure Blob Storage connector - Microsoft Power Platform Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/","og_locale":"en_US","og_type":"article","og_title":"Upload files from PowerApps using the Azure Blob Storage connector - Microsoft Power Platform Blog","og_description":"One of the more common request we have seen from customers is that they want to use PowerApps and use Azure Blob storage to store their media files.","og_url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/","og_site_name":"Microsoft Power Platform Blog","article_published_time":"2018-05-14T19:00:17+00:00","article_modified_time":"2025-06-11T15:08:41+00:00","og_image":[{"url":"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/850a7f79-726e-4c02-84ec-b91323a7bfb4.png","type":"","width":"","height":""}],"author":"Evan Chaki","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Evan Chaki","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#article","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/"},"author":[{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/evan-chaki\/","@type":"Person","@name":"Evan Chaki"}],"headline":"Upload files from PowerApps using the Azure Blob Storage connector","datePublished":"2018-05-14T19:00:17+00:00","dateModified":"2025-06-11T15:08:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/"},"wordCount":1916,"commentCount":0,"publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#primaryimage"},"thumbnailUrl":"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/850a7f79-726e-4c02-84ec-b91323a7bfb4.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/","name":"Upload files from PowerApps using the Azure Blob Storage connector - Microsoft Power Platform Blog","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#primaryimage"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#primaryimage"},"thumbnailUrl":"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/850a7f79-726e-4c02-84ec-b91323a7bfb4.png","datePublished":"2018-05-14T19:00:17+00:00","dateModified":"2025-06-11T15:08:41+00:00","breadcrumb":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#primaryimage","url":"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/850a7f79-726e-4c02-84ec-b91323a7bfb4.png","contentUrl":"https:\/\/pwrappscdn.azureedge.net\/mediahandler\/blog\/media\/PowerApps\/blog\/850a7f79-726e-4c02-84ec-b91323a7bfb4.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/05\/14\/upload-files-from-powerapps-using-the-azure-blob-storage-connector\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/"},{"@type":"ListItem","position":2,"name":"Upload files from PowerApps using the Azure Blob Storage connector"}]},{"@type":"WebSite","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/","name":"Microsoft Power Platform Blog","description":"Innovate with Business Apps","publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization","name":"Microsoft Power Platform Blog","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","contentUrl":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","width":194,"height":145,"caption":"Microsoft Power Platform Blog"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/person\/98aacde8099b676ab8c7d46a5f2793bb","name":"Evan Chaki","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c7b4f1ac40e2b80cc4069d38791ead340f454cfc6c78cc15793ca9d6301de400?s=96&d=mm&r=g8090c1afb2732c0e5cf53ed5da525495","url":"https:\/\/secure.gravatar.com\/avatar\/c7b4f1ac40e2b80cc4069d38791ead340f454cfc6c78cc15793ca9d6301de400?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c7b4f1ac40e2b80cc4069d38791ead340f454cfc6c78cc15793ca9d6301de400?s=96&d=mm&r=g","caption":"Evan Chaki"},"url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/evchaki\/"}]}},"bloginabox_animated_featured_image":null,"bloginabox_display_generated_audio":false,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Power Platform Blog","distributor_original_site_url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/93","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/users\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/comments?post=93"}],"version-history":[{"count":1,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/93\/revisions"}],"predecessor-version":[{"id":131078,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/93\/revisions\/131078"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/media?parent=93"}],"wp:term":[{"taxonomy":"audience","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/audience?post=93"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/content-type?post=93"},{"taxonomy":"job-role","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/job-role?post=93"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/product?post=93"},{"taxonomy":"property","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/property?post=93"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/topic?post=93"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/coauthors?post=93"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}