Does the Mobile SDK provide any methods which allow uploading an attachment (image) to Salesforce? I am using 3.0 iOS SDK and building a native app
1 Answer
You can use the requestForUploadFile
method. Try this
- Use the
UIImagePickerControllerDelegate
delegate - Set your image source to
UIImagePickerControllerSourceTypePhotoLibrary
- Convert image data to NSData and then upload using
SFRest API requestForUploadFile
Some sample code (may require some tweaks to run though)
@interface RootViewController : UITableViewController <SFRestDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate>
- (void) uploadImage {
UIImagePickerController *imgPicker = [[UIImagePickerController alloc] init];
imgPicker.delegate = self;
imgPicker.allowsEditing = YES;
imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentViewController:imgPicker animated:YES completion:NULL];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
self.imageView.image = chosenImage;
NSData *imageData= UIImageJPEGRepresentation(chosenImage,0.0);
SFRestRequest *request =
[[SFRestAPI sharedInstance] requestForUploadFile:imageData
name:@"myimage.png"
description:@"Test Img"
mimeType:@"image/png"];
[[SFRestAPI sharedInstance] send:request delegate:self];
[picker dismissViewControllerAnimated:YES completion:NULL];
}
-
-
Yes, change mimeType:@"image/png"]; to mimeType:@"image/jpg"]; That should be it Commented Feb 11, 2015 at 7:03
-
How do I store the uploaded file against a Salesforce Record (Eg: Case)? @user5094 Commented Sep 4, 2023 at 1:09