2

我正在使用jquery 文件上传器。我需要将文件从浏览器直接上传到 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
    ],

如何解决这个问题呢?

4

1 回答 1

0

data 参数允许覆盖插件选项以及定义 ajax 设置。 https://github.com/blueimp/jQuery-File-Upload/wiki/Options

你设置autoupload为false,在你的add回调中,你遍历你的图像设置数组

在每次迭代中:

设置图像调整大小插件选项,更改文件名提交 d

于 2013-10-09T12:59:38.287 回答