2012-03-20 3 views
1

Я сохраняю файл с сервера в ALAssetLibrary, так что пользователь может просматривать его в автономном режимеКак проверить, есть ли файл (видео) уже в ALAssetsLibrary (фотоальбом), прежде чем его сохранить?

Однако я не хочу, чтобы пользователь загружал один файл несколько раз, чтобы избежать создания дубликатов в фотоальбоме заявление.

, что мой код:

ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init]; 

     void (^completionBlock)(NSURL *, NSError *) = ^(NSURL *assetURL, NSError *error) 
     { 
      if (error != nil) 
      { 
       //writeFailed = YES; 
       NSLog(@"error = %@", error); 
      } 

      //[self notifyCompletionTarget]; 
      NSLog(@" saving is done"); 
     }; 

     NSURL *url = [[NSURL alloc] initFileURLWithPath:path]; 

     [library writeVideoAtPathToSavedPhotosAlbum:url completionBlock:completionBlock ]; 
    } 
+0

Привет, вы пробовали следующий подход? http://iphone.resourcezen.com/received-file-exists-in-photo-library Сообщите мне, если вы найдете решение. – user130934

ответ

1

Я думаю, что вы не можете. Вы можете использовать множество алгоритмов для сравнения файлов, таких как SHA-1, MD5, CRC и т. Д.. Однако в случае ALAsset упомянутые все будут терпеть неудачу.

Потому что каждый раз, когда вы сохраняете файл Photo-Library с помощью ALAsset, он будет хранить место, время и т.д. .. информация это с файлом. Таким образом, тот же файл будет отличаться в зависимости от процесса сохранения.

все вышеперечисленные алгоритмы в отношении к файлу contend.So все они не смогут в случае ALAsset