我正在使用blueimp
文件上传插件,但我不支持多个files
,但我不知道如何发送自定义属性。我想将所有这些自定义属性发送到服务器,每个chunk
没问题(我们如何发送formData
)。我们如何同样发送formData
,我可以发送属性吗?
var formdata = new formData();
formdata.append('filename',currentFile[i]);
formdata.append('filesize',currentFile[i].size);
注意:我想在chunks
以下是我正在尝试jsfiddle的代码(在firefox中完美打开):http://jsfiddle.net/davidchase03/ChJ9B/
HTML
<input id="fileupload" type="file" name="files[]" multiple>
<div class="progress">
<div class="meter" style="width: 0%;"></div>
</div>
<div class="data"></div>
的JavaScript
$(function () {
$('#fileupload').fileupload({
url: '/echo/json/',
maxChunkSize: 1048576,
maxRetries: 3,
dataType: 'json',
multipart: false,
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10),
meter = $('.progress .meter'),
percent = progress + '%';
meter.css('width', percent).text(percent);
},
add: function (e, data) {
data.context = $('<p/>').text('Uploading...').appendTo('.data');
data.submit();
},
done: function (e, data) {
data.context.text('Upload finished.');
},
fail: function (e, data) {
data.context.text('Upload failed.');
$('.progress').addClass('alert');
console.warn('Error: ', data);
}
}).on('fileuploadchunksend', function (e, data) {
// if (data.uploadedBytes === 3145728 ) return false;
}).on('fileuploadchunkdone', function (e, data) {
});
});
问题:为了让您明白这就是我想要的How to send custom data to server using jquery-file-uploader
请提前帮助我!
答案 0 :(得分:1)
您可以使用标题选项发送其他自定义属性。 例如:
$(function () {
$('#fileupload').fileupload({
url: '/echo/json/',
...
headers : {
customAttribute: 'customValue'
}
});
对于动态值,您可以使用beforeSend回调,如以下示例中所述
$(function () {
$('#fileupload').fileupload({
url: '/echo/json/',
...
beforeSend : function(xhr) {
xhr.setRequestHeader("customAttribute", someCalculateValueFunction('customValue'));
}
});
答案 1 :(得分:1)
$('#fileupload').fileupload({
formData: {customAttr: 'value'}
});
答案 2 :(得分:0)