如何将文件或图像或视频上传到API REST服务。
您有任何教程,示例或代码。
帮助我理解这个概念。
答案 0 :(得分:2)
您可以使用NSURLConnection
或ASIHTTPRequest
执行此操作,具体取决于Web服务如何接受该文件。
您应该提供有关您的问题的更多信息,以便我们知道要解释的内容。
答案 1 :(得分:0)
您可以上传如下文件:
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!");
答案 2 :(得分:0)
如果您想在服务器上传递图像,那么
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错误。