Rails 4 Jquery-File-Upload无法上传两次

时间:2016-05-12 14:05:01

标签: jquery ruby-on-rails-4 file-upload amazon-s3 jquery-file-upload

我正在使用jquery-file-upload将Rails 4应用中的图片直接上传到AWS s3,这篇文章是https://devcenter.heroku.com/articles/direct-to-s3-image-uploads-in-rails

我的目标是从单一表单上传同一文件的2个不同版本:large和thumbnail。

上传代码如下。上传工作正常,在完成回调中我想开始第二次上传。

 fileInput.fileupload({
        fileInput:       fileInput,
        url:             form.data('url'),
        type:            'POST',
        autoUpload:       true,
        formData:         form.data('form-data'),
        paramName:        'file', // S3 does not like nested name fields i.e. name="user[avatar_url]"
        dataType:         'XML',  // S3 returns XML if success_action_status is set to 201
        replaceFileInput: false,
        disableImageResize: false,
        imageMaxWidth: 800,
        imageMaxHeight: 800,
        imageCrop: true,

        done: function(e, data) {
          console.log('DONE');

          // HERE I WOULD LIKE TO MAKE A SECOND UPLOAD
          startThumbnailUpload();
        },
      });

第二次上传的代码完全相同,除了大小和url,但不知何故第二个fileInput.fileupload()永远不会被执行。

function startThumbnailUpload(){
  fileInput.fileupload({
    fileInput:       fileInput,
    url:             form.data('url'),
    type:            'POST',
    autoUpload:       true,
    formData:         form.data('form-data'),
    paramName:        'file', // S3 does not like nested name fields i.e. name="user[avatar_url]"
    dataType:         'XML',  // S3 returns XML if success_action_status is set to 201
    replaceFileInput: false,
    disableImageResize: false,
    imageMaxWidth: 200,
    imageMaxHeight: 200,
    imageCrop: true,

    done: function(e, data) {
      console.log('DONE');
    },
 });
}

到目前为止,我在这个主题上找到的少数SO主题提到确保选项replaceFileInput:false存在,即。

表单代码如下:

= f.file_field :image_url, multiple: true, accept: 'image/jpeg,image/gif,image/png'

知道为什么吗?那种双重上传会有另一种解决方案吗?

0 个答案:

没有答案