0 votes
1 view
in Salesforce by (11.3k points)

I build a flow which create a case in a salesforce. Now, I am trying to upload a file to that case programmatically. Basically the client uploads the file manually in the server. now the question is how could I upload it by java rest based web service. it's good to have any links which describe about this topic.

1 Answer

0 votes
by (28.6k points)

The following code allows you to upload a physical file to Salesforce.com and attach it to a record.

Code:

  try {

        File f = new File("c:\java\test.docx");

        InputStream is = new FileInputStream(f);

        byte[] inbuff = new byte[(int)f.length()];        

        is.read(inbuff);

        Attachment attach = new Attachment();

        attach.setBody(inbuff);

        attach.setName("test.docx");

        attach.setIsPrivate(false);

        // attach to an object in SFDC 

        attach.setParentId("a0f600000008Q4f");

        SaveResult sr = binding.create(new com.sforce.soap.enterprise.sobject.SObject[] {attach})[0];

        if (sr.isSuccess()) {

            System.out.println("Successfully added attachment.");

        } else {

            System.out.println("Error adding attachment: " + sr.getErrors(0).getMessage());

        }

    } catch (FileNotFoundException fnf) {

        System.out.println("File Not Found: " +fnf.getMessage());

    } catch (IOException io) {

        System.out.println("IO: " +io.getMessage());            

    }

Please try this and let me know in case of any concern.

...