如何将文件、图像或视频上传到 API REST 服务。
你有任何教程,示例或代码。
帮助我理解这个概念。
您可以使用NSURLConnection
或使用来执行此操作ASIHTTPRequest
,具体取决于 Web 服务如何接受文件。
您应该提供有关您的问题的更多信息,以便我们知道要解释什么。
您可以像这样上传文件:
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSMutableString *urlString = [[NSMutableString alloc] initWithFormat:@"name=thefile&&filename=recording"];
[urlString appendFormat:@"%@", data];
NSData *postData = [urlString dataUsingEncoding:NSASCIIStringEncoding
allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSString *baseurl = @"https://www.yourWebAddress.com/yourServerScript.php";
NSURL *url = [NSURL URLWithString:baseurl];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
[urlRequest setHTTPMethod: @"POST"];
[urlRequest setValue:postLength forHTTPHeaderField:@"Content-Length"];
[urlRequest setValue:@"application/x-www-form-urlencoded"
forHTTPHeaderField:@"Content-Type"];
[urlRequest setHTTPBody:postData];
NSURLConnection *connection = [NSURLConnection connectionWithRequest:urlRequest delegate:self];
[connection start];
NSLog(@"Started!");
如果你想在服务器上传递图像然后
1) NSData *thumbData = UIImagePNGRepresentation(imgPhoto.image);
Then convert this NSData into encodeBase64WithData, then Pass to the Server.
如果你想在服务器上传递视频,那么
2) NSData *videoData = [NSData dataWithContentsOfFile:YourVideoPath];
Then convert this NSData into encodeBase64WithData, then Pass to the Server.
并且您必须记住,您必须使用 @"POST" 方法传递所有数据。否则会加载 Long Url 错误。