我正在使用fineuploader 3.2版。我在这个
的单个HTML页面上嵌入了多个fineuploader实例<div id="file-uploader_1" class="uploader">
<div id="file-uploader_2" class="uploader">
这就是我如何附加fineuploader
$('.uploader').fineUploader({
request: {
endpoint: './uploadfile',
params: {
imageid: function() {
return this.id;
}
}
},
multiple: false,
validation: {
allowedExtensions: ['jpeg', 'jpg', 'gif', 'png'],
sizeLimit: 551200 // 50 kB = 50 * 1024 bytes
},
text: {
uploadButton: 'Changepic'
}
}).on('complete', function(event, id, fileName, responseJSON) {
if (responseJSON.success) {
imgs[this.id]="data:image/jpg;base64,"+ data;
}
});
我想将附加到fineuploader的div的id传递给fileupload请求。但是我看到了#undefined&#39;在任何地方都会被退回。这个。&#39;被引用。我也试过使用this.attr(&#39; id&#39;)而得到一个错误&#34; Uncaught TypeError:Object#没有方法&#39; attr&#39; &#34 ;.
我在这里发现了一个类似的问题(FINEUPLOAD pass the ID as parameter),但解决方案似乎太粗糙了。有人可以提出更好的解决方案,而不是重复相同的代码吗?
答案 0 :(得分:5)
您可以遍历元素并在每个元素上调用fineUploader,检索流程中的每个ID:
$('.uploader').each(function() {
var uplId= $(this).prop("id");
$(this).fineUploader({
request: {
endpoint: './uploadfile',
params: {
imageid: function() {
return uplId;
}
}
}
...
});