2014-04-15 3 views
0

나는 iOS 앱을 개발 중이며 flickr에 비디오 및 사진을 업로드하고 싶습니다. 사진 부분을 작성했지만 upload videosflickr을 입력 할 수 없습니다. 내가 reply.this을 아는 flickr .anyone에 업로드 싶어 제발로 비디오 파일을 선택에 내 코드 곳을 여는 것은 답장을flickr ios에 비디오를 업로드 할 수 없습니다

- (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]; 

} 

덕분에 코드의 내 작품이다.

답변

1

위의 코드에서 비디오 파일을 선택하면 코드를 업로드하거나 플리커 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]; 

이 정보가 도움이 될 수 있습니다. 어떤 질문이라도 의견으로 물을 수 있습니다.

+0

위의 코드에서 md5가 무엇인지 설명 할 수 있습니다. – user3515514

+0

이것은 단지 암호화 방법입니다. 그런 식으로 정의됩니다. –

+0

그것의 오류를 내게 – user3515514

관련 문제