5.15.0
Fine Uploader Azure allows your users to upload files directly to your Azure Blob Storage container without the need to send the file through one of your servers first. This will, among other things, allow your application to be a bit more efficient and scalable.
When a user submits a file to Fine Uploader Azure, the following occurs:
uploadSuccess.endpoint
in your Fine Uploader Azure options configuration.
If the upload failed, start over at step 2 automatically if the retry.enableAuto
option is set to true
.The above steps are slightly different if Fine Uploader is chunking the file. Instead of a Put Blob request, Fine Uploader will send a Put Block request to Azure for each piece of the file. Once all pieces have been successfully uploaded, Fine Uploader will then send a Put Block List request, which asks Azure to combine all the blocks into a blob. Fine Uploader will call your signature server before each and every request, asking for a SAS URI.
If this feature is enabled, Fine Uploader will send a Delete Blob request directly to Azure when asked to delete a file. As usual, your signature server will be called on to provide a SAS URI before this request is sent to Azure. Note that even if this feature is disabled, Fine Uploader will issue a Delete Blob request to Azure if a user cancels an in-progress chunked upload. This is necessary to ensure that the uncommitted blocks are cleaned up by Azure.
All features present in the traditional endpoint uploader are also available in Fine Uploader Azure, with one notable
omission. Fine Uploader Azure does not support IE9 and older. This is due to the fact that Azure's API does
not allow files to be uploaded via multipart encoded POST requests, which is critical for IE9 and older support.
If you need to support IE9 and older, you will need to load/use Fine Uploader with its traditional endpoint
handler if the value of qq.supportedFeatures.ajaxUploading
is false
.
There is nothing inherently insecure about this workflow, provided you take appropriate precautions. For example:
Please see the getting started guides on the home page of this documentation site.