Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将相位集(图像)上载到服务器_Ios_Objective C_Cocoa Touch_Uiimageview_Phasset - Fatal编程技术网

Ios 如何将相位集(图像)上载到服务器

Ios 如何将相位集(图像)上载到服务器,ios,objective-c,cocoa-touch,uiimageview,phasset,Ios,Objective C,Cocoa Touch,Uiimageview,Phasset,我尝试将多个图像上传到服务器,我使用QBImagePickerController拾取图像并上传到服务器。但是我在从服务器检索图像时没有获得正确的图像。如何将图像上载到服务器 {- (void)qb_imagePickerController:(QBImagePickerController *)imagePickerController didFinishPickingAssets:(NSArray *)assets { self.imagesKeysArray = [NSMutableAr

我尝试将多个图像上传到服务器,我使用QBImagePickerController拾取图像并上传到服务器。但是我在从服务器检索图像时没有获得正确的图像。如何将图像上载到服务器

{- (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];
}
}

我想你需要先将它转换成一个
NSData
,然后从服务器获取数据时,你需要下载它,然后将数据转换成
NSData
,然后再转换成一个
PHAsset
@Zonily Jame我正在获取上传到服务器的图像url,但我没有得到仅包含图像文件的图像。什么类型的你从服务器上获取url吗?@Zonily Jame在上面的代码中将图像发布到服务器后,我在didFinishPickingAssets方法中编写了什么,我获得了该图像的图像密钥,然后我需要将该图像密钥发送到服务器。从服务器检索图像时,它是这样的,但此url不显示图像。是否可能发送到服务器的不是图像数据?但只是一个随机文件,文件名为
,扩展名为
.jpeg