実行時にコンバーターを設定する必要がある場合は、aurigma アップローダーの 2 つの追加イベントを設定する必要があります: 1.BeforeUpload と 2.BeforePackageUpload:
uploader = new Uploader('Uploader1');
...
$uploader->getClientEvents()->setBeforeUpload("BeforeUpload");
$uploader->getClientEvents()->setBeforePackageUpload("BeforePackageUpload");
...
次に、イベントのコードを Javascript ブロック (スクリプト タイプ = "text/javascript") に実装します。
アップロード ペインに追加されたすべての画像の幅と高さを取得し、これらの値を配列に入れる必要があります。BeforePackageUpload では、各ファイルの幅と高さの値を取得し、それらを比較して、必要なコンバーター フィット モードを設定する必要があります。
//set new arrays
var widths = [];
var heights = [];
function BeforeUpload() {
var uploader = $au.uploader('Uploader1');
count = uploader.files().count();
for (i = 0; i < count; i++) {
widths[i] = uploader.files().get(i).width();
heights[i] = uploader.files().get(i).height();
}
}
function BeforePackageUpload(index) {
var uploader = $au.uploader('Uploader1');
if (widths.shift() > heights.shift()) {
uploader.converters([{
mode: '*.*=Thumbnail',
thumbnailFitMode: 'Width',
thumbnailWidth: 500,
thumbnailHeight: 300,
thumbnailJpegQuality: 100
}]);
}
else
{
uploader.converters([{
mode: '*.*=Thumbnail',
thumbnailFitMode: 'Height',
thumbnailWidth: 300,
thumbnailHeight: 500,
thumbnailJpegQuality: 100
}]);
}
}