ios - 无法在 flickr ios 上上传视频

标签 ios flickr

我正在开发一个 iOS 应用程序,我想在其中上传视频和照片到 flickr。我已经完成了照片部分,但我无法在 flickr上传视频。我选择视频文件的代码正在打开它,因为我想将它上传到 flickr。任何知道的人请回复。这是我的代码

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];

    if (CFStringCompare ((__bridge CFStringRef) mediaType, kUTTypeMovie, 0) == kCFCompareEqualTo) {
        NSString *moviePath = (NSString*)[[info objectForKey:UIImagePickerControllerMediaURL] path];
        // NSLog(@"%@",moviePath);
        // NSURL *videoUrl=(NSURL*)[info objectForKey:UIImagePickerControllerMediaURL];

        if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum (moviePath)) {
            UISaveVideoAtPathToSavedPhotosAlbum (moviePath, nil, nil, nil);
        }
    }

    [self dismissViewControllerAnimated:YES completion:nil];

}

感谢回复。

最佳答案

在上面的代码中,您只是选择视频文件,没有上传视频的代码或其中使用的任何 flickr api。所以尝试以这种方式上传视频:-

NSString *uploadSig = [[NSString stringWithFormat:@"%@api_key%@auth_token%@", secret, api_key, auth_token] MD5];

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
NSString *url = [NSString stringWithFormat:@"http://api.flickr.com/services/upload/"];
[request setURL:[NSURL URLWithString:url]];
[request setHTTPMethod:@"POST"];


NSString *boundary = [NSString stringWithString:@"---------------------------7d44e178b0434"];

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

NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[@"Content-Disposition: form-data; name=\"api_key\"\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"%@\r\n", api_key] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[@"Content-Disposition: form-data; name=\"auth_token\"\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];    
[body appendData:[[NSString stringWithFormat:@"%@\r\n", auth_token] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Disposition: form-data; name=\"api_sig\"\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"%@\r\n", uploadSig] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"photo\"; filename=\"photo.jpg\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:imageData];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];

希望这对你有帮助。如果有任何问题,您可以在评论中提出。

关于ios - 无法在 flickr ios 上上传视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23081183/

相关文章:

image - flickr API : how to get relevant image results?

Flickr API 根据位置获取图像

ios - 从第三方 iOS 应用打开 Flickr

ios - Swift 中 UITableView 的奇怪行为

ios - 正确更改父 View 时无法更改 subview 的大小

ios - 如何在初始化后更改 UIPickerView 中的行数

ios - UIActivityViewController Flickr 共享 - 没有出现 Flickr 选项

c - 如何将库添加到 PKG-CONFIG Mac

ios - UIButton+Category实现覆盖其他UIButton的触摸事件

ios - Swift 协议(protocol)不触发 Objective C 协议(protocol)方法