5 ms·
Totally agree with this. At letitcast, we're dealing with large video uploads (up to 500Mo), image uploads and resumes (pdf). Giving to our users a nice experi
by mickeyben 14y ago
Totally agree with this.
At letitcast, we're dealing with large video uploads (up to 500Mo), image uploads and resumes (pdf). Giving to our users a nice experience was very time consuming.
We had the following requirement for the client side uploader: iE7 support (we have worldwide inexperienced users), progressbar, multiple file chooser, client side file type detection (server side too). We ended up using swfupload + a lot of js.
It mostly work but we're not completely satisfied.
Last time we checked, there was at least two popular uploaders on Github but both of them are HTML5-only (vs flash based) and didn't offered the same experience in every browser.
We were first uploading directly to the Rails backend but it eventually killed our frontends. We experimented with sinatra async, eventmachine and node.js and endend up using node to handle file uploads, validations, image processing, S3 storage and video encoding (via zencoder). This was our first app with node and in less than a week we had our app in production, handling hundreds of upload/day.
We also had a few suprises with imagemagick causing 100% CPU load (https://www.google.com/webhp?rlz=1C1CHFX_frFR491FR491&sourceid=chrome-instant&ie=UTF-8&ion=1#hl=fr&gs_nf=1&tok=unKi0Zf1WCyMYvwHN3PDOA&pq=imagemagick%20hangs%20convert&cp=15&gs_id=27&xhr=t&q=imagemagick+100+cpu&pf=p&safe=off&rlz=1C1CHFX_frFR491FR491&sclient=psy-ab&oq=imagemagick+100&gs_l=&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.&fp=eb6634e6a39aad58&ion=1&biw=1280&bih=552 https://www.google.com/webhp?rlz=1C1CHFX_frFR491FR491&so...).
I'm pretty sure I forgot a lot of issues we ran into.
We learned a lot along the way but it's nice to see some people are trying to tackle this issue.
FYI the guys at transloadit also work on this.