Как загрузить PHAsset (Изображения) на сервер

Я попытался загрузить несколько изображений на сервер, я выбрал изображения с помощью QBImagePickerController и загрузить на сервер. Но я не получаю правильное изображение при получении изображения с сервера. Как загрузить изображение PHAsset на сервер.

{- (void)qb_imagePickerController:(QBImagePickerController *)imagePickerController didFinishPickingAssets:(NSArray *)assets {

self.imagesKeysArray = [NSMutableArray new];

for (PHAsset *asset in assets) {
    // Do something with the asset
    NSDictionary *headers = @{ @"content-type": @"multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW",
                               @"p-auth-token": @"afc1577772eb73c910a4e180290f" };

    NSArray *resources = [PHAssetResource assetResourcesForAsset:asset];
    NSString *orgFilename = ((PHAssetResource*)resources[0]).originalFilename;

    NSArray *parameters = @[ @{ @"name": @"file[]", @"fileName": orgFilename } ];
    NSString *boundary = @"----WebKitFormBoundary7MA4YWxkTrZu0gW";

    NSError *error;
    NSMutableString *body = [NSMutableString string];
    for (NSDictionary *param in parameters) {
        [body appendFormat:@"--%@\r\n", boundary];
        if (param[@"fileName"]) {
            [body appendFormat:@"Content-Disposition:form-data; name=\"%@\"; filename=\"%@\"\r\n", param[@"name"], param[@"fileName"]];
            [body appendFormat:@"Content-Type: %@\r\n\r\n", param[@"contentType"]];
            [body appendFormat:@"%@", [NSString stringWithContentsOfFile:param[@"fileName"] encoding:NSUTF8StringEncoding error:&error]];
            if (error) {
                NSLog(@"%@", error);
            }
        } else {
            [body appendFormat:@"Content-Disposition:form-data; name=\"%@\"\r\n\r\n", param[@"name"]];
            [body appendFormat:@"%@", param[@"value"]];
        }
    }
    [body appendFormat:@"\r\n--%@--\r\n", boundary];
    NSData *postData = [body dataUsingEncoding:NSUTF8StringEncoding];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://frica.com/facilitator/server/v1/media"]
                                                           cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                       timeoutInterval:10.0];
    [request setHTTPMethod:@"POST"];
    [request setAllHTTPHeaderFields:headers];
    [request setHTTPBody:postData];

    NSURLSession *session = [NSURLSession sharedSession];
    NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                                completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                    if (error) {
                                                        NSLog(@"%@", error);
                                                    } else {


                                                        NSDictionary *serverDatadict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];





                                                        NSString *keys = [[[[serverDatadict valueForKey:@"result"]objectForKey:@"file1"]objectForKey:@"result"]valueForKey:@"key"];

                                                        [self.imagesKeysArray addObject:keys];

                                                        NSLog(@"Pic keys %@", self.imagesKeysArray);



                                                    }
                                                }];
    [dataTask resume];

}


[self dismissViewControllerAnimated:YES completion:NULL];
}
}

0 ответов

Другие вопросы по тегам