%PDF- %PDF-
Direktori : /home/opti/workflow/node_modules/aws-sdk/test/browser/sample/ |
Current File : /home/opti/workflow/node_modules/aws-sdk/test/browser/sample/s3upload.html |
<!DOCTYPE html> <html> <head> <title>AWS SDK for JavaScript - Console</title> <style type="text/css"> body { font-family: Helvetica, Arial, sans-serif; font-size: 9pt; } #drop_zone { padding: 40px; border: 2px dashed #666; color: #777; font-size: 2em; } </style> </head> <body> <div id="fb-root"></div> <h1>Upload a file to S3</h1> <p>Bucket name: <input type="text" id="bucket"/></p> <div id="drop_zone">Drop files here</div> <div id="notes"></div> <script type="text/javascript" src="aws-sdk.js"></script> <script type="text/javascript" src="appinfo.js"></script> <script type="text/javascript"> var elDropZone = document.getElementById('drop_zone'); var elFile = document.getElementById('file'); var elBucket = document.getElementById('bucket'); var elNotes = document.getElementById('notes'); elBucket.value = localStorage.s3BucketName; var s3 = new AWS.S3({params: {Bucket: elBucket.value || ''}}); function init() { elDropZone.addEventListener('dragover', handleDragOver, false); elDropZone.addEventListener('drop', handleFileSelect, false); elBucket.addEventListener('change', function () { localStorage.s3BucketName = elBucket.value; s3.config.params.Bucket = elBucket.value; }, false); } var firstTime = true; function handleFileSelect(evt) { if (firstTime) { firstTime = false; elDropZone.innerHTML = ''; } evt.stopPropagation(); evt.preventDefault(); var files = evt.dataTransfer.files; // FileList object. for (var i = 0; i < files.length; i++) { var params = {Key: files[i].name, ContentType: files[i].type, Body: files[i]}; var req = s3.putObject(params).on('httpUploadProgress', function (progress) { console.log(progress); }).send(function (err, data) { console.log("FINISHED"); if (err) { elDropZone.innerHTML += '<p>ERROR UPLOADING ' + files[i].name + '</p>'; } else { var url = s3.getSignedUrl('getObject', {Key: params.Key}); console.log(url) elDropZone.innerHTML += '<img src="' + url + '">'; } }); } return false; } function handleDragOver(evt) { evt.stopPropagation(); evt.preventDefault(); evt.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy. } function loadIDPCredentials(provider, arn, accessToken) { var params = { ProviderId: provider, RoleArn: arn, WebIdentityToken: accessToken }; if (provider === null) delete params.ProviderId; s3.config.credentials = new AWS.WebIdentityCredentials(params); } window.fbAsyncInit = function() { // init the FB JS SDK FB.init({ appId: window.appInfo.facebook.appId, status: false, xfbml: false }); FB.Event.subscribe('auth.authResponseChange', function(response) { if (response.status === 'connected') { loadIDPCredentials('graph.facebook.com', window.appInfo.facebook.roleArn, response.authResponse.accessToken); } else { FB.login(); } }); FB.getLoginStatus(); }; // Load the SDK asynchronously (function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/all.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); document.addEventListener('DOMContentLoaded', init, false); </script> </body> </html>