Hello Vadym S,
Thank you for posting your query here!
One way is to use Content-Disposition
property of the blob to achieve this. What you can do is set the name of the blob as GUID, however, set the content-disposition property of the blob as attachment; filename="original-file-name". If you want the file to be always downloaded, you can permanently set this property. However, if you want to only set this name when the file is downloaded, you can create a Shared Access Signature on the blob with Read permission and overwrite this header.
Here are a few blogs for reference:
https://copyprogramming.com/howto/friendly-filename-when-public-download-azure-blob
Similar discussions:
https://stackoverflow.com/questions/47085165/how-to-download-file-with-filename
Also, once you have the blob data downloaded, you can invoke the browser download process from the local data. One option to do this is to use a library like Filesaver.js, which allows setting the download file name as a parameter:
var FileSaver = require('file-saver');
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");
Do let us know if you have any further queries. I’m happy to assist you further.
Please do not forget to "Accept the answer” and “up-vote” wherever the information provided helps you, this can be beneficial to other community members.