I need a multiple file uploader for an asp.net website. It'll be great if i can be a drag-and-drop file uploader. I'm assuming I would have to use something like flash to do that.
Telerik has a good multiple file uploader.
No drag/drop support however and unfortunately not for free.
As far as "drag and drop" is concerned for file uploads, this cannot be achieved with (today's) standard browser technology. You must use a plug-in (like Flash, ActiveX, etc.) to achieve that scenario and overcome the limits of the browser.
[SIDE NOTE: Silverlight offers no help here (yet) either. It's security model does not allow dragging files from the desktop "in to" the plug-in for operations like file upload.]
For multi-file uploads, you have a couple of solutions:
For true, "select multiple files at once" (Shift/Ctl + click), you still must use a plug-in, like Silverlight or Flash. As an example, Telerik makes RadUpload for Silverlight that can be used in an ASP.NET website to enable "true" multi-file upload experiences: Demo of RadUpload for SL in ASP.NET
If you don't want a plug-in, you're limited by browser upload standards again to selecting one file at a time. You can, of course, select many files and then upload them together, but you have to make the selections one file at a time. For this type of scenario, there are controls like the RadUpload for ASP.NET AJAX that pretty much enable you to do as much as you can with browser standards: Demo of RadUpload for ASP.NET AJAX
Due to security, browsers do have pretty limited support for rich uploading experiences. It's probably one of the most common browser "limits" that plug-ins like Flash and Silverlight help overcome.
Hope that background helps.
I highly recommend Uploadify as a mulitple file uploader. It uses jquery and flash to allow the user to upload multiple files at once through ctrl + clicking on all desired files. It then displays a queue of the files uploading and removes the file from the queue on completion. It also allows you to specify which extension to allow the user to upload as well which prevents you from having to do extension validation.
Silverlight Multi File Uploader works great for me. It's an open source control that both allows a single-button control or a full graphical control. In both cases there are JavaScript methods and events for full interaction.
While I haven't tried any of the alternatives, it seems to be high quality and well polished and can be customized with a number of useful parameters such as max file size, file type filters and upload handler. Also, it supposedly supports drag-and-drop, but I haven't tried it yet.