2014-04-22 2 views
1

아마존에 콘텐츠를 업로드하기 위해 javascript amazon sdk를 사용하고 있습니다. 나는 예제를 시험해 본다. 이것은 나의 코드 다.amazon s3 javascript SDK를 사용하는 업로드가 작동하지 않습니다.

<script src="https://sdk.amazonaws.com/js/aws-sdk-2.0.0-rc13.min.js"></script> 
    <script type="text/javascript"> 
    // See the Configuring section to configure credentials in the SDK 
    // AWS.config.credentials = ...; 
    AWS.config.update({accessKeyId: 'keyid', secretAccessKey: 'secretkey'}); 

// Configure your region 
    AWS.config.region = 'us-west-2'; 
</script> 


    <input type="file" id="file-chooser" /> 
    <button id="upload-button">Upload to S3</button> 
    <div id="results"></div> 

    <script type="text/javascript"> 
    var bucket = new AWS.S3({params: {Bucket: 'bucket_name'}}); 

    var fileChooser = document.getElementById('file-chooser'); 
    var button = document.getElementById('upload-button'); 
    var results = document.getElementById('results'); 
    button.addEventListener('click', function() { 
    var file = fileChooser.files[0]; 
    if (file) { 
     results.innerHTML = ''; 
     var cal_key = file.name; 
     var params = {Key: cal_key, ContentType: file.type, Body: file}; 
     bucket.putObject(params, function (err, data) { 

     results.innerHTML = err ? 'ERROR!' : 'UPLOADED.'; 
     }); 
    } else { 
     results.innerHTML = 'Nothing to upload.'; 
    } 
    }, false); 
    </script> 

하지만 난이 오류

있어하지만 난이 크로스 도메인 문제가 있음을 알고 몇 가지 조사 후이 오류

XMLHttpRequest cannot load https://bucket_name.s3-us-west-2.amazonaws.com/Chrysanthemum.jpg. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://testing.com' is therefore not allowed access. 

을 얻었다. 그러나 나는 이것이 어떻게 해결되는지 모른다. 이 코드는 아마존 문서에서 직접 가져온 것입니다.

답변

0

이것은 사실 CORS 문제입니다. S3 documentation의이 부분을 확인 했습니까?

link도 유용합니다.

관련 문제