Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the most bullet-proof way to upload large files in a web app?

We have to accept large file uploads (video content) and want to do that in a way that works well across all standards-compliant browsers and plug-ins. Our current setup looks like this:

  • SWFUpload
  • input type="file" for graceful degradation

On the server-side, we have nginx and the upload module streaming the uploaded files into the server, then handing the requests off to a merb app.

Unfortunately, it looks like the recently released Adobe Flash Player 10 broke every single free/open uploading flash component out there (and then, some other sites which have their own proprietary versions as well), but some other sites, such as Flickr and Vimeo, seem to work just fine.

I've been poking around looking for other ways of doing this, but since compatibility with both Flash 9 and 10 is mandatory, I couldn't find a suitable solution. Any ideas?

like image 222
Carlos Villela Avatar asked Jan 25 '23 00:01

Carlos Villela


2 Answers

File uploading is always a pain.

I tried a few flash uploaders a while ago and it seems all of them had the limitation of not being to display a progress bar on Macs. Not to mention the upgrade to flash 10 broke most flash uploaders so users of our company app went from multiselecting a whole folder with 50 files to upload at once to uploading 50 files one at a time.

Java uploaders work fine (even through Java updates) but if you don't have small user base that you can explain why they need to download java and allow an applet to run in their browser, most will not use it.

I think the middle ground is to just use ftp. It's old but effective, works with extremely large files and multiple files.

like image 51
Jason Christa Avatar answered Jan 26 '23 14:01

Jason Christa


Try FancyUpload. It's a MooTools uploader and it works for both Flash 9 and 10.

like image 27
VirtuosiMedia Avatar answered Jan 26 '23 14:01

VirtuosiMedia