Je connais votre problème.. J'ai rencontré le même problème.. Vous devez donner le chemin de l'image.. Le code suivant obtiendra l'image à partir du chemin.. si l'image se trouve dans l'index de votre répertoire, vous devez obtenir le chemin peu différent .. Essayez ceci et faites le moi savoir ..
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"photo.jpg"];
[request setFile:[NSURL URLWithString:dataPath] forKey:@"photo"];
//IF the photo is in directory index use the following code to get the url
NSString *filename = [[NSBundle mainBundle] pathForResource:@"photo" ofType:@"png"];
[request setFile:[NSURL URLWithString:filename] forKey:@"photo"];
Ok voici le code que vous devez écrire pour UIImagePicker
- (void) imagePickerController:(UIImagePickerController *)thePicker didFinishPickingMediaWithInfo:(NSDictionary *)imageInfo
{
imagePicker = nil;
UIImage *image = [imageInfo objectForKey:@"UIImagePickerControllerEditedImage"];
image = [image roundedCornerImage:23.5 borderSize:1];
// Get the data for the image as a JPEG
NSData* imageData = UIImageJPEGRepresentation(image, 0.5);
// Give a name to the file
NSString* imageName = @"photo.png";
// Now, we have to find the documents directory so we can save it
// Note that you might want to save it elsewhere, like the cache directory, or something similar.
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths objectAtIndex:0];
// Now we get the full path to the file
NSString* fullPathToFile = [documentsDirectory stringByAppendingPathComponent:imageName];
[imageData writeToFile:fullPathToFile atomically:NO];
myPicture = imageData;
myPicturePath = fullPathToFile;
// Dismissing the image picker view
[self dismissModalViewControllerAnimated: YES];
}
Lors du téléchargement de l'image, utilisez ce code.. Vous aurez le chemin myPicture défini à partir du sélecteur d'image..
Request setFile:myPicturePath forKey:@"photo"];
Le code suivant permet d'obtenir l'image du répertoire de documents et de l'envoyer..
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths objectAtIndex:0];
// Now we get the full path to the file
NSString* fullPathToFile = [documentsDirectory stringByAppendingPathComponent:@"photo.png"];
[imageData writeToFile:fullPathToFile atomically:NO];
[Request setFile:fullPathToFile forKey:@"photo"];