使用两个iOS参数将文件发送到服务器iOS

使用两个iOS参数将文件发送到服务器iOS,ios,file-upload,Ios,File Upload,我想将文件发送到服务器路径,其中一个参数是参数“filepath”,另一个参数是文件数据。我该怎么做呢?下面我将在filepath中添加数据。但我想这是错的,请帮忙 NSURL *nsurl =[NSURL URLWithString:_urlString]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:nsurl cachePolicy:NSURLRequestUseProtocolCachePolicy

我想将文件发送到服务器路径,其中一个参数是参数“filepath”,另一个参数是文件数据。我该怎么做呢?下面我将在filepath中添加数据。但我想这是错的,请帮忙

NSURL *nsurl =[NSURL URLWithString:_urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:nsurl cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[request setURL:nsurl];
[request setHTTPMethod:@"POST"];


NSString *boundary = @"---------------------------14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];

NSMutableData *body = [NSMutableData data];
NSData *data = UIImageJPEGRepresentation([UIImage imageNamed:@"Model.png"],  0.0);
NSString *string = [NSString stringWithFormat:@"filepath=%@",_filePath];

NSData *pathData = [string dataUsingEncoding:NSUTF8StringEncoding];
[body appendData:pathData];

//Image
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"image\"; filename=\"%@\"\r\n",@"newFile.png"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];

// setting the body of the post to the reqeust
[request setHTTPBody:body];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:returnData options:kNilOptions error:nil];
NSLog(@"%@",dict);

谢谢

你不能只做
[body appendData:pathData]在开始处。您需要添加适当的边界和内容信息。因此,您应该有许多行,如:

  • 添加边界
  • 添加内容信息
  • 添加内容数据
  • 添加边界
  • 对于要添加的每个附加数据段,从2开始重复


    检查,以了解需要为每种数据类型添加的适当内容类型和处置信息的信息(最适合您的示例位于底部)。

    显示您尝试过的代码,并解释问题所在。@Wain I已添加代码您的意思是说我必须与我为文件数据到文件路径所做的相同?类似,如果它不是一个文件,那么您没有相同的内容信息(但是您需要指定内容信息)。