2012-03-20 12 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 2012-03-22 13:50:17

回答

1

我認爲你不能。您可以使用許多算法來比較文件,如SHA-1,MD5,CRC等。但是在ALAsset的情況下,所有提到的都會失敗。

因爲,當您使用ALAsset文件保存到Photo-Library,它將存儲地點,時間等 ..信息與文件。因此,相同的文件爭用將不同對應於保存過程。

上述所有算法關於該文件contend.So他們都將在ALAsset

相關問題