Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.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 - Fatal编程技术网

Ios 如何从包含其他文本参数的字典上载图像?

Ios 如何从包含其他文本参数的字典上载图像?,ios,objective-c,Ios,Objective C,我想上传一张字典里的图片,看起来像这样, { 图片:档案管理员 图片用户id:1 图片名称:abcd.jpg } 附加文件的位置是我想从图像视图上传的图像,如何实现这一点 这是我上传字典中图像的功能 -(void)uploadImageWithparams:(NSDictionary *)params withDelegate:(id)delegateObject withHandler:(HMResponseBlock)block{ // This isn't actually my

我想上传一张字典里的图片,看起来像这样, { 图片:档案管理员 图片用户id:1 图片名称:abcd.jpg }

附加文件的位置是我想从图像视图上传的图像,如何实现这一点

这是我上传字典中图像的功能

-(void)uploadImageWithparams:(NSDictionary *)params withDelegate:(id)delegateObject withHandler:(HMResponseBlock)block{
    // This isn't actually my url btw
    // setting up the request object now
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

    [request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@,%@",kBaseUrl,@"page=user"]]];
    [request setHTTPMethod:@"POST"];


    NSMutableArray *parameters = [[NSMutableArray alloc] init];
    for (NSString *key in params.allKeys) {
        if([key rangeOfString:@"pic_image"].location != NSNotFound){
            [parameters addObject:@{@"fileName": key, @"value": params[key]}];
        }else {
            [parameters addObject:@{@"name": key, @"value": params[key]}];
        }
    }
    NSLog(@"The parameters are %@",parameters);
    NSString *boundary = @"---------------------------14737809831466499882746641449";
      NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
    [request addValue:contentType forHTTPHeaderField: @"Content-Type"];
     NSError *error;
    NSMutableData *body = [NSMutableData data];
    for (NSDictionary *param in parameters) {
        if (param[@"fileName"]) {

            [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
            [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"photo\"; filename=\"%@\"\r\n", @"abcd"] dataUsingEncoding:NSUTF8StringEncoding]];
            [body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
            [body appendData:param[@"value"]];
            [body appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];


        }else {
            [body appendData:[[NSString stringWithFormat:@"--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
            [body appendData:[[NSString stringWithFormat:@"Content-Disposition:form-data; name=\"%@\"\r\n\r\n", param[@"name"]] dataUsingEncoding:NSUTF8StringEncoding]];
            [body appendData:[[NSString stringWithFormat:@"%@\r\n", param[@"value"]] dataUsingEncoding:NSUTF8StringEncoding]];


        }
    }
 [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundary]   dataUsingEncoding:NSUTF8StringEncoding]];
    [request setHTTPBody:body];
    NSURLSession *session = [NSURLSession sharedSession];
    NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                                completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                    if (error) {
                                                        NSLog(@"%@", error);
                                                    } else {
                                                        NSDictionary *json =  nil;
                                                        NSError *err;
                                                        if(data){
                                                            json =  [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers|NSJSONReadingAllowFragments error:&err];
                                                        }
                                                        block(json,err);
                                                    }
                                                }];
    [dataTask resume];

} 

按关键字名称从字典中获取图像名称

例:

通过此代码,您可以从字典中获取图像名称

UIImage *image = [UIImage imageNamed:imageName];
您可以通过上述代码从图像名称中获取图像

或者,您可以从imageView获取图像,并通过下面的代码将其转换为NSData

    UIImage *image = myImageView.image;
如果您需要将图像上载到服务器的代码,请单击此链接


我不知道您真正想做什么,因为没有提到语言,没有开发环境。它看起来像某种JSON协议,因此PICU图像可以通过网络上的Base64编码转换为ASCII字符。第二,考虑到你提到的图像视图,你使用什么语言和框架?它的多部分发送数据看到这个ans,可以为你使用..谢谢,我将尝试链接中的一个
    UIImage *image = myImageView.image;