Skip to content

cgreenza/AzureFileShare

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AzureFileShare

A simple web app for uploading files to an Azure blob storage account and getting a read-only download link that can be shared for easy download by others.

Overview

  • Server-side logic implemented as an Azure Function that can run in consumption mode for minimal charges
    • Authentication is via Azure AD authentication using App Service EasyAuth
    • All users of the configured AAD tenant are granted access to upload files
  • Files are stored to an Azure blob storage account
    • The blob container must be configured for public read access to allow download without authentication
    • A random "upload ID" is added to the file path to prevent download by persons without the full download link
    • Files are uploaded directly to the blob container using SAS tokens that are issued by the Azure Function
    • Blob lifecycle management policies can be configured to automatically delete or archive files when they reach a certain age
  • Web UI:
    • Single page web app with client-side JS that calls the Azure Function and uses the Azure Storage JavaScript Client Library for Browsers to upload the file
    • Files are uploaded via browser or azcopy
    • The HTML and JS files are stored in a blob container and served via a functions proxy so that static content as well as API are hosted under the same domain
    • The client-side JS does not use any frameworks and makes use of Fetch API and Promises

About

Simple Azure Function App for sharing files

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published