2017-09-26 59 views
0

我想發送一個base64編碼的圖像之間的一些其他字符串使用http POST和AFNetworking。我試圖發送參數一個NSDictionary:AFNetworking - 做一個HTTP POST到REST,發送一個JSON Base64string圖像

NSMutableDictionary *info = [NSMutableDictionary dictionary]; 
    [info setValue:filedata forKey:@"filedata"]; 
    [info setValue:comments forKey:@"comments"]; 
    [info setValue:username forKey:@"username"]; 
    [info setValue:@"jpg" forKey:@"filetype"]; 
    [info setValue:filename forKey:@"filename"]; 

,並使用AFNetworking POST:

AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc]initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; 
    manager.requestSerializer = [AFJSONRequestSerializer serializer]; 
    [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 

    [manager POST:@"https://myurl.com/fileupload" parameters:info progress:nil success:^(NSURLSessionTask *task, id responseObject) { 
     NSLog(@"JSON: %@", responseObject); 
    } failure:^(NSURLSessionTask *operation, NSError *error) { 
     NSLog(@"Error: %@", error); 
    }]; 

但是我不知道還有什麼在這一點上做的。我錯過了什麼?謝謝

回答

1

您可以用下面的例子

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 

[manager POST:@"https://myurl.com/fileupload" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 
    [formData appendPartWithFileData:imageData 
           name:@"key name for the image" 
          fileName:photoName mimeType:@"image/jpeg"]; 
} success:^(NSURLSessionDataTask *task, id responseObject) { 
    NSLog(@"Response: %@", responseObject); 
} failure:^(NSURLSessionDataTask *task, NSError *error) { 
    NSLog(@"Error: %@", error); 
}]; 
+0

謝謝你,但是我需要上傳所有的值。 '(「username =%@&filename =%@&filetype = jpg&filedata =%@&comments =%@」)'我如何包含這些參數? – McCadi

+0

檢查此示例https://stackoverflow.com/questions/24747809/using-afnetworking-to-post-both-text-and-multiple-images-to-google-blobstore – casillas

相關問題