Загрузка более 50 МБ файлов в корзину S3 напрямую с помощью javascript - PullRequest
0 голосов
/ 13 апреля 2020

Я застрял с проблемой. Я загружаю файл в корзину s3, используя aws sdk. Но для файлов размером 2-3 МБ это хорошо, но при загрузке больших файлов я не могу загрузить файлы. вот мой JS код:

<script src="https://sdk.amazonaws.com/js/aws-sdk-2.283.1.min.js"></script>
AWS.config.update({
    accessKeyId : 'xxxxxxxxxxxx',
    secretAccessKey : 'xxxxxxxxxxxxxxxxxxxx'
});
AWS.config.region = 'us-west-1';
$("#uploadForm").submit(function () {
        $("#progress").show();
        var bucket = new AWS.S3({params: {Bucket: 'bucketname', apiVersion: '2006-03-01'}});
        var uploadFiles = $('#upFile')[0];
        var upFile = uploadFiles.files[0];
        if (upFile) {
            var uploadParams = {Key: 'podcats/' + (Date.now()) + '/' + upFile.name, ContentType: upFile.type, Body: stream, ACL: 'public-read'};
            bucket.upload(uploadParams).on('httpUploadProgress', function (evt) {
bucket.upload(uploadParams).on('httpUploadProgress', function (evt) {
                //console.log("File Uploading: " + parseInt((evt.loaded * 100) / evt.total)+'%');
            }).send(function (err, data) {
                console.log(data);
            });;
        }
        return false;
    })

;

Пожалуйста, помогите мне решить проблему. Я попытался сделать больше исследований и разработок, но не нашел никаких решений. пожалуйста, обратите внимание: я использую PHP для программирования на стороне сервера, но не используется для связи с s3.

1 Ответ

1 голос
/ 13 апреля 2020
  1. Вместо однократной загрузки, можете ли вы попробовать загрузку из нескольких частей и посмотреть, будет ли возникать та же ошибка или нет. Пожалуйста, обратитесь к этому URL: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#createMultipartUpload -property

  2. Попробуйте использовать последнюю версию node js, чтобы проверить, появляется ли та же ошибка или нет /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...