添付ファイルフィールドに容量制限を設定したい
aiに作成してもらったjavaScriptをkintoneに設定してみたが、設定値(500KB)以上の添付ファイルが保存できてしまう
kintoneに設定したjsコード、UTF-8(BOMなし)で保存
(function() {
‘use strict’;
const FIELD_CODE = ‘File’;
const MAX_TOTAL_SIZE = 500 * 1024; // 500KB = 512,000バイト
const events = [
‘app.record.create.submit’,
‘app.record.edit.submit’
];
function getTotalSize(record) {
const field = record[FIELD_CODE];
if (!field || !Array.isArray(field.value)) {
return 0;
}
return field.value.reduce(function(total, file) {
return total + Number(file.size || 0);
}, 0);
}
kintone.events.on(events, function(event) {
const totalSize = getTotalSize(event.record);
if (totalSize > MAX_TOTAL_SIZE) {
const totalKB = (totalSize / 1024).toFixed(1);
event.error =
'添付ファイルの合計サイズが上限の500KBを超えています。' +
'(現在: ' + totalKB + 'KB)' +
' ファイルを削除してから保存してください。';
}
return event;
});
})();