Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Restrict attachments size on single catalog item

MonicaW
Tera Guru

I have a catalog item where we want to restrict the size of all attachments to 12 MB total.  I tried using the attachment variable, but it only allows the selection of ONE attachment.  I want the ability to add multiple attachments using the built-in "add attachments" on the catalog item itself and have it calculate the size of all of them and restrict it to 12 MB.

 

I found the following code that I put in an onSubmit script, but it's not working - perhaps I need to change more elements than the var maxAttachmentSizeMB = 12; line?

>>>>>>>>>>>>>>>>>>>>>>>>>

function onSubmit() {
var attachments = this.angular.element("#sc_cat_item").scope().attachments; // Adjust element ID as needed
var submitForm = false;
var maxAttachmentSizeMB = 12; // Set your desired limit in MB

attachments.forEach(function(attachment){
var sizeBytes = parseInt(attachment.size_bytes);
var sizeMB = sizeBytes / (1024 * 1024); // Convert bytes to MB.
var sizeString = String(attachment.size_bytes); // Get the size as a string to include the units
alert(sizeString);

if(sizeMB > maxAttachmentSizeMB){
alert(attachment.file_name + ' is too large. Maximum allowed size is ' + maxAttachmentSizeMB + ' MB.');
submitForm = false;
}
});
return submitForm;
}

20 REPLIES 20

I believe you asked for the console message that is occurring.  I'm attaching it for the third time.  This is where we last left off.