Top Banner
Easily upload files to ...and so much more
14

Fine Uploader S3

Jul 13, 2015

Download

Software

Ray Nicholus
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Fine Uploader S3

Easilyuploadfilesto

...andsomuchmore

Page 2: Fine Uploader S3

What is Fine Uploader?

1. NativeJavaScriptfileuploadlibrary2. jQuerysupported(butoptional)3. S3,Azure,&customendpointsupport4. Faulttolerance:chunking,resume,retry,pause5. Images:scaling,previews,paste6. UI:DnD,templating,progress,initiallists7. Also:CORS,delete,forms,validation8. Soon:CloudFront,duplicatefiledetection,...

Page 3: Fine Uploader S3

Browser Support

Page 4: Fine Uploader S3

the oldies...

Page 5: Fine Uploader S3

browsers that don't suck

Page 6: Fine Uploader S3

Fine Uploader S3

Don'tworryabouttheS3RESTAPIForgetaboutconstructingrequests&handlingerrorsConstructapolicy?Noneed!UseS3'sbandwidth,notyourserver'sKeepyourserversimple&focused

Page 7: Fine Uploader S3

Internet Explorer IE7 - 9

MPEPOSTviaformsubmitentirefileinonerequestcustomheaderssentasparams303fromS3toasame-originendpointIE7requiresjson2.js(forpolicygeneration)

Page 8: Fine Uploader S3

All other browsers

UsesS3"multipartuploadAPI"UploadfilesinchunksviaXHREachrequestmustbesigned

Page 9: Fine Uploader S3

AWS Setup

1. Createabucket2.3. SetupCORSrules4. CreateIAMuser(s)

Customdomain?

Page 10: Fine Uploader S3

Server-signed requestworkflow

EachrequestsenttoS3mustbesignedbyserverSecretkeylivesontheserverAccesskeyontheclientKeysshouldbeassociatedw/limitedIAMuser

Page 11: Fine Uploader S3

Dirt Simple Client-Side Code

varuploader=newqq.s3.FineUploader({element:document.getElementById("uploaderContainer"),request:{endpoint:"https://mybucket.s3.amazonaws.com",accessKey:"{{MY_CLIENTSIDE_IAM_USER_ACCESS_KEY}}"},signature:{endpoint:"/s3signatures.php"},iframeSupport:{localBlankPagePath:"/blankpage.html"}});

...ofcourse,youneedtohandlesignaturerequestsserverside.(justakeyed-HMAC)

Page 12: Fine Uploader S3

"Serverless" Workflow

ServeronlynecessaryforstaticresourcesGenerateshort-livedlimitedcredsviaserver......-or-use (allclient-side)Requestsaresignedclient-sidebyFineUploaderWIFonlypossiblein"modern"browsers

AWSWIF

Page 13: Fine Uploader S3

Dirt Simple ?Client-Side Code

Notreally.

YoumustintegratewithIP(s)&usetheAWSJSSDK.

Notrocketscience,butmorethanafewlinesofcode.

Page 14: Fine Uploader S3

References

FineUploaderS3demow/server-providedsignaturesFineUploaderS3server-siderequesthandlerexamplesServerlessS3uploadsdemoGettingstartedw/FineUploaderS3FineUploaderS3docspageFineUploaderS3server-sidenotesFineUploaderS3optionsFineUploaderS3APIFineUploaderS3events