我正在使用jquery file uploader。我需要文件来直接从浏览器上传到Amazon S3。只需最少的插件设置,单个上传工作正常。我需要三个大小相同的文件需要直接上传到S3。所以我认为可以使用processQueue
,但直到现在才开始工作。
我在requireJS环境中正在处理文件上传器。下面是代码,我试过了。
$('.fileupload').fileupload({
url: '//testbucket.s3.amazonaws.com',
type: 'POST',
autoUpload: true,
dataType: 'xml', // S3's XML response
add: function (e, d) { console.log('add') };
success: function (e, d) {},
processQueue : [
{
action : 'loadImage',
fileTypes : /^image\/(gif|jpeg|png)$/,
maxFileSize : 5120000
}, {
action : 'resizeImage',
maxHeight : 400,
crop : false
}, {
action : 'saveImage'
}, {
action : "setImage"
}
],
processstart: function (e) {
console.log('Processing started...');
},
process: function (e, data) {
console.log('Processing ' + data.files[data.index].name + '...');
},
processdone: function (e, data) {
console.log('Processing ' + data.files[data.index].name + ' done.');
}
});
这些是我在requireJS模块中包含的模块。
define(
[
'jquery', // jQuery Library
'jquery.ui.widget', // https://github.com/blueimp/jQuery-File-Upload
'load-image', // https://github.com/blueimp/JavaScript-Load-Image
'canvas-to-blob', // https://github.com/blueimp/JavaScript-Canvas-to-Blob
'jquery.iframe-transport', // https://github.com/blueimp/jQuery-File-Upload
'jquery.fileupload', // https://github.com/blueimp/jQuery-File-Upload
'jquery.fileupload-process', //https://github.com/blueimp/jQuery-File-Upload
'jquery.fileupload-image' // https://github.com/blueimp/jQuery-File-Upload
],
如何解决这个问题?
答案 0 :(得分:0)
data参数允许覆盖插件选项以及定义 ajax设置。 https://github.com/blueimp/jQuery-File-Upload/wiki/Options
您将autoupload
设为false,
在add
回调中,您将遍历图像设置数组
在每次迭代中:
设置图片大小调整插件选项, 更改文件名 提交d