The following sample shows you how to add an attachment to a case
by using the RestRequest object. For more information about authenticating
with
cURL, see the
Quick Start section
of the
REST API Developer's Guide. In this code, the
binary file data is stored in the RestRequest object, and the
Apex service class accesses the binary data in the RestRequest object
.
- Create an Apex class in your instance from Setup by entering Apex Classes in the Quick Find box, then selecting Apex Classes. Click New and add the following code to
your new class:
@RestResource(urlMapping='/CaseManagement/v1/*')
global with sharing class CaseMgmtService
{
@HttpPost
global static String attachPic(){
RestRequest req = RestContext.request;
RestResponse res = Restcontext.response;
Id caseId = req.requestURI.substring(req.requestURI.lastIndexOf('/')+1);
Blob picture = req.requestBody;
Attachment a = new Attachment (ParentId = caseId,
Body = picture,
ContentType = 'image/jpg',
Name = 'VehiclePicture');
insert a;
return a.Id;
}
}
- Open a command-line window and execute the following cURL command to upload the attachment
to a case:
curl -H "Authorization:
Bearer sessionId" -H "X-PrettyPrint: 1"
-H "Content-Type: image/jpeg" --data-binary @file "https://instance.salesforce.com/services/apexrest/CaseManagement/v1/caseId"
- Replace sessionId with the <sessionId> element that you noted in
the login response.
- Replace instance with your <serverUrl> element.
- Replace caseId with the ID of the case
you want to add the attachment to.
- Replace file with the path and file
name of the file you want to attach.
Your command should look something like this (with the sessionId replaced with your session ID):
curl -H "Authorization: Bearer sessionId"
-H "X-PrettyPrint: 1" -H "Content-Type: image/jpeg" --data-binary @c:\test\vehiclephoto1.jpg
"https://na1.salesforce.com/services/apexrest/CaseManagement/v1/500D0000003aCts"
The Apex class returns a JSON response that contains the attachment ID such
as the following:
- To verify that the attachment and the image were added to the
case, navigate to and select the All Open Cases view. Click on the case and then scroll down to the Attachments
related list. You should see the attachment you just created.