2

fineuploader バージョン 3.2 を使用しています。このような単一の HTML ページに複数のファインアップローダーのインスタンスが埋め込まれています

<div id="file-uploader_1" class="uploader">
<div id="file-uploader_2" class="uploader">

そして、これがファインアップローダーをアタッチする方法です

$('.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 リクエストに渡したい。ただし、「this.id」が参照されているところはどこでも「未定義」が返されることがわかります。また、代わりに this.attr('id') を使用してみましたが、「Uncaught TypeError: Object # has no method 'attr'」というエラーが発生します。

ここで同様の質問を見つけました(FINEUPLOAD は ID をパラメーターとして渡します)が、解決策は粗雑すぎるようです。同じコードを繰り返すのではなく、より良い解決策を誰かが提案できますか?

4

1 に答える 1