Send Image as a binary file to the server

前端 未结 1 459
太阳男子
太阳男子 2021-01-23 17:53

The below is the attribute where I send my image to the server to get the information about the image.

    NSDictionary* parameters = [NSDictionary dictionaryWit         


        
相关标签:
1条回答
  • 2021-01-23 18:25

    In order to transmit an image captured with the camera to CamFind API using Unirest, you need to same the image first.

    // Get the path to the Documents folder
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentDirectoryPath = [paths objectAtIndex:0];
    
    // Get the path to an file named "tmp_image.jpg" in the Documents folder
    NSString *imagePath = [documentDirectoryPath stringByAppendingPathComponent:@"tmp_image.jpg"];
    NSURL *imageURL = [NSURL fileURLWithPath:imagePath];
    
    // Write the image to an file called "tmp_image.jpg" in the Documents folder
    NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
    [imageData writeToURL:imageURL atomically:YES];
    
    // Now construct the parameters that will be passed to Unirest
    NSDictionary* parameters = [NSDictionary dictionaryWithObjectsAndKeys:@"en_US", @"image_request[locale]", @"en", @"image_request[language]", imageURL, @"image_request[image]", nil];
    
    // And the headers
    NSDictionary* headers = [NSDictionary dictionaryWithObjectsAndKeys:@"<mashape-key>", @"X-Mashape-Authorization", nil];
    
    // Call the API using Unirest
    HttpJsonResponse* response = [[Unirest post:^(BodyRequest* request) {
        [request setUrl:@"https://camfind.p.mashape.com/image_requests"];
        [request setHeaders:headers];
        [request setParameters:parameters];
    }] asJson];
    
    0 讨论(0)
提交回复
热议问题