Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

attachment size on workspace

Raze00
Tera Contributor

Hi i want to display the message as soon as possible whenever an attachment is attached to the case and the combine size of attachments exceed 18mb then i want to show the error message immediately is this possible?

 

1 ACCEPTED SOLUTION

@Raze00 

Small change in my Script & it worked fine for me

-> I added size bytes for the current file also, I forgot it earlier

(function executeRule(current, previous /*null when async*/ ) {
    // Define your limit in bytes (e.g., 10MB)
    var maxSize = 18 * 1024 * 1024; // 18 MB

    var totalSize = 0;
    var gr = new GlideRecord("sys_attachment");
    gr.addQuery("table_sys_id", current.table_sys_id);
    gr.query();
    while (gr.next()) {
        totalSize = totalSize + parseInt(gr.size_bytes);
    }

    totalSize = totalSize + parseInt(current.size_bytes);

    if (totalSize > maxSize) {
        gs.addErrorMessage('Total Attachment size exceeds the limit of 18 MB.'); // User-friendly message
        current.setAbortAction(true); // Prevents the attachment from being saved
    }
})(current, previous);

AnkurBawiskar_1-1767878457088.png

 

AnkurBawiskar_0-1767878445597.png

 

Output: I tried to add 3rd file and it exceeded 18MB and error message thrown and file not added

attachment size combine 18MB.gif

💡 If my response helped, please mark it as correct and close the thread 🔒— this helps future readers find the solution faster! 🙏

Regards,
Ankur
Certified Technical Architect  ||  10x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

20 REPLIES 20

UmesH77
Tera Guru

Hello @Raze00 ,

In ServiceNow:

  • Attachments are saved after upload

  • Client scripts cannot read attachment sizes directly

  • Total size exists only on the server

So the solution must be:

Client Script (detect upload) → Script Include (calculate size) → Client response

 

You have to go Like this .

User attaches file

onSubmit / onChange (Client Script)

GlideAjax call

Script Include (sum attachment sizes)

Return size

Show error message immediately

 

it is possible, but only by calling a Script Include via GlideAjax from a Client Script to calculate the total attachment size server-side and return it immediately to the UI.

if you want script include just reply  I will provide that as well.

 

If my solution is helpful , Accept it as solution 🙏or mark is as helpful as well👍.

Regards, 

UmesH

Technical Consultant.

 

 

 

Raze00
Tera Contributor

Hi, Yes if you can provide it. Thankyou.

 

Ankur Bawiskar
Tera Patron

@Raze00 

did you try to use before insert BR on sys_attachment table and show some info message?

what did you try so far and where are you stuck?

💡 If my response helped, please mark it as correct and close the thread 🔒— this helps future readers find the solution faster! 🙏

Regards,
Ankur
Certified Technical Architect  ||  10x ServiceNow MVP  ||  ServiceNow Community Leader

Hi ankur, i have created a br on hr core table as display br whenever the attachment is added and agent saves the form or reload it the error will show. what i want is that message to display immediately after the attachment is added because sometimes agent wont save the form after uploading an attachment .