Design for large file upload/download from browser
Aug 3, 2024
Technology — Javascript(UI), Azure Blob(file storage), C#
Core solution involves directly uploading/downloading from the browser in a secured way. (To avoid latency in transfer to apis)
Also upload/download to take place in parallel chunks for quicker completion
Design
- Javascript code calls the custom API to get the uri to upload/download
- Custom api fetches the sas uri for the file with create(for upload) or read(for download) for a limited period from the azure blob storage
- Javascript uses @azure/blob library to upload/download file in chunks usin the sas uri fetched in step 2