Advertisement
Guest User

Untitled

a guest
Jul 25th, 2014
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.    
  2.     // file <input type="file"> element
  3.         // policy - from the previous post
  4.         // process - function() // callback
  5.         // complete - function() // when its done
  6.         function upload(file, policy, progress, complete) {
  7.        
  8.             var xhr = new XMLHttpRequest()
  9.  
  10.             var formdata = new FormData()
  11.            
  12.             formdata.append('key', policy.path)
  13.  
  14.             formdata.append('AWSAccessKeyId', policy.accesskey)
  15.  
  16.             formdata.append('acl', policy.acl)
  17.  
  18.             formdata.append('policy', policy.policy)
  19.  
  20.             formdata.append('signature', policy.signature)
  21.  
  22.             formdata.append('file', file)
  23.  
  24.             xhr.upload.addEventListener('progress', function(e) {
  25.  
  26.                 if(progress) {
  27.  
  28.                     progress({
  29.  
  30.                         total : file.size,
  31.  
  32.                         sent : e.loaded,
  33.  
  34.                         percent : Math.round((e.loaded * 100) / e.total),
  35.                        
  36.                         value : (e.loaded / e.total)
  37.  
  38.                     })
  39.  
  40.                 }
  41.  
  42.             }, false)
  43.  
  44.             xhr.onreadystatechange = function() {
  45.  
  46.                 if (xhr.readyState == 4) {
  47.  
  48.                     if(complete) {
  49.  
  50.                         complete()
  51.  
  52.                     }
  53.  
  54.                     return;
  55.                 }
  56.             }
  57.             xhr.open("POST", "https://s3.amazonaws.com/" + policy.bucket + "/", true)
  58.  
  59.             xhr.send(formdata)
  60.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement