【问题标题】:Uploading multiple files directly to S3 in Laravel with fine uploader使用精细上传器将多个文件直接上传到 Laravel 中的 S3
【发布时间】:2019-10-29 14:23:16
【问题描述】:

我正在尝试使用 Fine Uploader 包将多个文件上传到我的 laravel 项目中的 S3 存储桶。

我已经实现了已提供的Example Controller,但上传失败,我花了几个小时试图找出原因

我收到以下错误

Successfully parsed some EXIF tags
POST http://localhost:8000/uploader 419 (unknown status)
POST request for 0 has failed - response code 419
Response does not include the base64 encoded policy!
Policy signing failed.  Response does not include the base64 encoded policy!
Simple upload request failed for 0

路线

Route::post('/uploader', 'S3UploadController@endpoint')->name('uploader');

前端

var s3Uploader = new qq.s3.FineUploader({
            debug: true,
            element: document.getElementById('fine-uploader-s3'),
            template: 'qq-template-s3',
            request: {
                endpoint: "BUCKET.s3.eu-west-2.amazonaws.com",
                accessKey: "PUBLIC KEY"
            },
            signature: {
                endpoint: "{{route('uploader')}} "
            },
            uploadSuccess: {
                endpoint: "/uploader?success",
                params: {
                    isBrowserPreviewCapable: qq.supportedFeatures.imagePreviews
                }
            },
              headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    },
            iframeSupport: {
                localBlankPagePath: "/fine-uploader/success.html"
            },
            cors: {
                expected: false
            },
            chunking: {
                enabled: false
            },
            resume: {
                enabled: true
            },
            deleteFile: {
                enabled: true,
                method: "POST",
                endpoint: "uploader?deleteObject"
            },
            validation: {
                itemLimit: 5,
                sizeLimit: 15000000
            },
            thumbnails: {
                placeholders: {
                    notAvailablePath: "/fine-uploader/not_available-generic.png",
                    waitingPath: "/fine-uploader/waiting-generic.png"
                }
            },
            callbacks: {
                onComplete: function(id, name, response) {
                    var previewLink = qq(this.getItemByFileId(id)).getByClass('preview-link')[0];

                    if (response.success) {
                        previewLink.setAttribute("href", response.tempLink)
                    }
                }
            }
        });

请帮帮我,我快疯了:(

【问题讨论】:

    标签: javascript php laravel amazon-web-services amazon-s3


    【解决方案1】:

    你尝试过 Laravel File System 方法吗?

    在本地或 s3 中上传文件更灵活。

    【讨论】:

    • 是的,我尝试过使用文件系统方法,但速度很慢
    【解决方案2】:

    我没有设法让 Fine Uploader 工作,所以我改用 PL Upload,它工作得很好:)

    【讨论】:

      猜你喜欢
      • 2013-11-28
      • 2016-11-22
      • 1970-01-01
      • 2011-06-29
      • 1970-01-01
      • 2014-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多