2011-08-10 4 views
0

私のアプリでは、10 MB以下のサイズのイメージやビデオをサーバーにアップロードする必要があります。だから私は、サーバーにアップロードする前に、イメージピッカーコントローラから選択したイメージまたはビデオのサイズを確認する必要があります。私は2日以来の答えを探しています。この点で誰でも助けてくれます。ありがとうございました。私はのように書いたイメージ/ビデオサイズ(イメージピッカーから選択したバイト数)

 NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES); 
      NSString* fullPathToFile = [[paths objectAtIndex:0] stringByAppendingPathComponent:fileName]; 
      NSLog(@"fullPathToFile:%@", fullPathToFile); 
      NSError *error = nil; 
      NSDictionary *attributes = [[NSFileManager defaultManager]attributesOfItemAtPath:fullPathToFile error:&error]; 

      if (!error) 
      { 
       NSNumber *size = [attributes objectForKey:NSFileSize]; 
       NSLog(@"File size: %@", size); 
      } 

しかし、それはnullを返します。

答えて

0

- (NSDictionary *)attributesOfItemAtPath:(NSString *)path error:(NSError **)errorを使用して、返された辞書からキーfilesizeを使用してサイズにアクセスしようとしましたか?

+0

パスを取得する方法 – Possible

1

最後に問題を解決しました。その1日目には、その画像/ビデオをNSDataに変換しなければなりません。そして、 "length"のようなプロパティを持っています。例えばのために :

fileData = UIImageJPEGRepresentation(image, 90); 
    //fileData = [NSData dataWithContentsOfURL:videoURL]; 
    NSUInteger fileLength = [fileData length]; 
    NSLog(@"fileLength:%u",fileLength); 

それはサイズをバイト単位で返します。ありがとうございます。

関連する問題