Mysql
 sql >> Database >  >> RDS >> Mysql

Carica immagine da iOS utilizzando ASIHTTPRequest

Conosco il tuo problema.. Ho affrontato un problema simile.. Devi fornire il percorso per l'immagine.. Il codice seguente otterrà l'immagine dal percorso.. se l'immagine è nell'indice della tua directory devi ottenere il percorso leggermente diverso.. Prova questo e fammi sapere..

        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, ecco il codice che devi scrivere per 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];
}

Durante il caricamento dell'immagine usa questo codice.. Avrai il percorso myPicture impostato dal selettore di immagini..

Request setFile:myPicturePath forKey:@"photo"];

Il codice seguente serve per ottenere l'immagine dalla directory dei documenti e inviarla.

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"];