我正在使用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'
知道为什么吗?那种双重上传会有另一种解决方案吗?