2
votes

We're developing a web-application with Azure and the question is - how to upload into BLOB large images effectively directly from browser and make it secure and reliable?

Probably, we're experiencing bad performance because we're from Russia and currently using a trial Azure. Maybe with the full subscription this problem will go away?

Anyway, my concern is that our application has to pass our image through the following path:

WebBrowser > (image.jpg) > Azure WebRole [store name in DB] > (image.jpg) > Azure BLOB

So there is an overhead involving WebRole. What I'd like to do is to upload my large file to BLOB directly and send image name to WebRole in parallel:

WebBrowser > (image.jpg) > Azure BLOB
WebBrowser > WebRole [store name in DB]

The problem here is security. I'm talking about uploading user pictures and don't want hackers being able to write into one's container.

Is it reasonable at all?

2
I guess, that my location must not affect the performance, because WebRole and BLOB should work fine with each other I guess.Vlad Ogay
For a good sample, you might want to check out blobshare.codeplex.com it has a silverlight multi file uploader and just regular file uploading. It also has configurable permissions.Jason Haley

2 Answers

4
votes

Silverlight is an option, using Shared Access Signatures (special URLs that allow write access on a time-limited basis). See my series of blog posts: http://blog.smarx.com/posts/uploading-windows-azure-blobs-from-silverlight-part-1-shared-access-signatures

1
votes

+1 for @smarx's suggestion of uploading via Shared Access Signature - that offers a time-limited URL that lets you access a private blob as if it were public. Someone would need to be running a network sniffer to attempt to discover an SAS-encoded URL, and even then, it would only be valid for a short period of time.

Just wanted to add that having a trial subscription is no different from a paid subscription, when it comes to performance. That's just a billing thing and has nothing to do with resource allocation.