Sending attachments using custom scripted web service

Thej1
Tera Expert

HI,

 

Created  a Scripted REST API and resources for the creation, updation, deletion and adding attachment for an incdent.

Tried with sending request from postman and working fine for Incident creation, updation and deletion.

But when i tried to add an attachment getting the response in postman as “request cannot sent” via postman or as “Invalid content type”.

Tried attachment with the OOB table API and it is working as expected.

 

Could someone help how to send request of adding attachment from postman ?

 

@Dr Atul G- LNG @Ankur Bawiskar 

 

Thanks

 

2 ACCEPTED SOLUTIONS

@Thej1 

it worked. you were not using the correct script which I shared above for SOAP Attachment creator.

I updated your scripted rest API script.

Also it seems you were not sending the complete base64 data

If my response helped please mark it correct and close the thread so that it benefits future readers.

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

View solution in original post

@Thej1 

something like this

AnkurBawiskar_0-1736934895342.png

 

Issue was with the script and you should send complete base64 data

It will work file for other file types as well provided you send the complete base64 data

request body here

{
    "incidentNumber":"INC0010002",
    "fileName":"myfile.png",
    "contentType":"image/png",
    "fileData":"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"
}

If my response helped please mark it correct and close the thread so that it benefits future readers.

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

View solution in original post

21 REPLIES 21

Ankur Bawiskar
Tera Patron
Tera Patron

@Thej1 

so it's working when you use scripted rest api

I didn't get what's not working then with postman

If my response helped please mark it correct and close the thread so that it benefits future readers.

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

Hi Ankur,

 

Sending an attachment via postman is not working the custom scripted REST API resource.

 

Thanks

@Thej1 

are you sure you are sending the correct JSON body from postman?

share your scripted rest api script and postman snapshot how you are consuming the endpoint?

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

Hi @Ankur Bawiskar ,

This is the script of the scripted web service

(function process(request, response) {
var sysId = request.pathParams.sys_id; // Get Incident Sys ID from the path parameter
var file = request.attachment; // Get file from the request

// Check if a file is present in the request
if (!file) {
gs.error("[Custom API] No file uploaded for Sys ID: " + sysId);
response.setStatus(400); // Bad Request
response.setBody({
status: "failure",
error: {
message: "No file uploaded"
}
});
return;
} else {
gs.info("[Custom API] File received. Name: " + file.fileName + ", Content-Type: " + file.contentType);
}

// Validate that the file content type is acceptable (optional, based on your requirements)
var allowedTypes = ["image/jpeg", "image/png", "application/pdf"]; // Add more as needed
if (allowedTypes.indexOf(file.contentType) === -1) {
gs.error("[Custom API] Invalid file type for Sys ID: " + sysId + ". Received type: " + file.contentType + ". Allowed types: " + allowedTypes.join(", "));
response.setStatus(400); // Bad Request
response.setBody({
status: "failure",
error: {
message: "Invalid file type",
received_type: file.contentType,
allowed_types: allowedTypes.join(", ")
}
});
return;
}

 

// Check if file size exceeds a limit (optional, adjust as needed)
var maxFileSize = 10000000; // 10MB for example
if (file.size > maxFileSize) {
gs.error("[Custom API] File size exceeds the limit for Sys ID: " + sysId + ". File size: " + file.size + " bytes");
response.setStatus(400); // Bad Request
response.setBody({
status: "failure",
error: {
message: "File size exceeds the limit",
max_size: maxFileSize,
current_size: file.size
}
});
return;
}

// Fetch the incident record using GlideRecord
var gr = new GlideRecord("incident");
if (gr.get(sysId)) {
gs.info("[Custom API] Incident found. Number: " + gr.number);

var attachment = new GlideSysAttachment();
try {
// Write the file to the incident record
attachment.write(gr, file.fileName, file.contentType, file.stream);
gs.info("[Custom API] File successfully attached to Incident: " + gr.number);

// Respond with success
response.setStatus(201); // Created
response.setBody({
status: "success",
message: "File uploaded successfully"
});
} catch (e) {
gs.error("[Custom API] Error while attaching file to Incident. Sys ID: " + sysId + ", Error: " + e.message);
response.setStatus(500); // Internal Server Error
response.setBody({
status: "failure",
error: {
message: "Error while attaching file",
detail: e.message
}
});
}
} else {
gs.error("[Custom API] Incident not found or restricted by ACL. Sys ID: " + sysId);
response.setStatus(404); // Not Found
response.setBody({
status: "failure",
error: {
message: "Incident not found"
}
});
}
})(request, response);

Postman snapshot is

Thej1_0-1736338087595.png

Thanks