【问题标题】:JQuery Fine Uploader S3 uploadsuccess params on file size关于文件大小的 JQuery Fine Uploader S3 uploadsuccess 参数
【发布时间】:2018-09-10 17:51:12
【问题描述】:

在将上传文件大小变量传递给端点(php 控制器)时需要一点帮助。我尝试了多种方法,但似乎该方法不起作用。

首先,我无法获取 getSize 函数所必需的上传文件“id”。

其次,当我将 getSize 函数放入 parames: 对象时,系统会出现错误。 下面是我的部分代码:

var loader=$('#fine-uploader-s3').fineUploaderS3({
      ... ...       
     //deleted not relevant code above 
   uploadSuccess: {
    endpoint: "/s3/uploadSuccessful",
    customHeaders: 
        {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},

    params: {
              user_id:'{{Auth::user()->id}}', // there are params I want to 
              lot_id: '{{$lot->id}}',         //pass to the controller 
                                              //no issue. the php controller
                                              //got them. this code is part of 
                 .. ...                       //Laravel blade.
             size: function (){
                     return  this.uploaderMethods.getSize('0');
           //hard code file id 0 for test. not working. 

或者我试过了:size: function (){ return this.getSize('0');

size: $('#fine-uploader-s3').fineUploaderS3('getSize', '0'),

它们都不起作用。感谢您在这里的任何帮助。

【问题讨论】:

  • 得到了解决方案:忘记传递大小变量的精细上传器库。在控制器中,一旦我从 js 回调中获取 S3 文件 $key,我就可以在 Laravel Storage 中使用它来获取文件的大小。

标签: laravel amazon-s3 amazon fine-uploader


【解决方案1】:

使用setUploadSuccessParams 在文档中找到答案。添加如下回调块:

callbacks: {
                onSubmit: function (id, fileName) {
                    var size = this.getSize(id);
                    var newParams = {"size": size};
                    loader.setUploadSuccessParams(newParams, id)
                }
            },

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 2014-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多