、 {pic_image:ファイルアタッシュケース pic_user_id:1 pic_name:abcd.jpg 他のテキストパラメタを含むイメージを辞書からアップロードするには?私はこのようになり辞書から画像をアップロードする
}添付ファイルIからアップロードしたい画像であるイメージビュー、どのようにこれを達成するために?あなたが画像を取得することができ、このコードによって
NSString *imageName = myDictioanry[@"pic_name"];
:
-(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];
}
私は述べた環境を開発、あなたが本当に無い言語ので、やりたいことされているものを知りません。いくつかのJSONプロトコルのように見えるので、pic_imageはネットワーク上のBase64エンコーディングによってASCII文字に変換できます。第二に、あなたが言及したイメージビューを考慮すると、どの言語とフレームワークを使用していますか? – tommybee
そのマルチパート送信データはこのansを参照してください、あなたのために使用することができます..http://stackoverflow.com/questions/24250475/post-multipart-form-data-with-objective-c – vaibhav