我正试图将资产库中的视频发送到带有参数video
的web服务,但如何才能做到?
我得到NSURL
如下:assets-library://asset/asset.MOV?id=What-ever-0000-000&ext=MOV
我使用AFNetworking
发送post请求,以下是我的代码:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
[manager setSecurityPolicy:[AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone]];
[manager.requestSerializer setValue:@"no-cache" forHTTPHeaderField:@"Catch-Control"];
NSDictionary *parameters = @{@"video": myurl};
[manager POST:@"this is my service link" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
我是否需要将NSURL
转换为另一种表示,以便我可以提交它?我不知道?
你可以这样发布视频到服务器
AFHTTPRequestOperation *op = [theManager POST:urlString
parameters:theParameters
constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
{
[formData appendPartWithFileURL:postedVideoURL name:@"media" fileName:@"FinalMovie.mp4" mimeType:@"mp4" error:nil];
[formData appendPartWithFileData:imgData name:@"video_thumb" fileName:@"png" mimeType:@"image/jpeg"];
}
success:^(AFHTTPRequestOperation *operation, id responseObject)
{}
failure:^(AFHTTPRequestOperation *operation, NSError *error)
{}];
[op start];
像这样创建manager对象
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];