在保存之前如何检查文件(视频)是否已存在于ALAssetsLibrary(相册)中?

时间:2012-03-20 09:58:07

标签: iphone ios ipad alassetslibrary

我将文件从服务器保存到ALAssetLibrary,以便用户可以在离线模式下查看

但是我不希望用户多次下载单个文件,以避免在相册应用程序中创建重复项。

这是我的代码:

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

1 个答案:

答案 0 :(得分:1)

我认为你不能。您可以使用许多算法来比较 SHA-1,MD5,CRC等等文件。但是在ALAsset的情况下,所提到的全部都会失败。

因为,每当您使用Photo-Library将文件保存到ALAsset时,它都会将位置,时间等 ..信息存储在文件中。因此,相同的文件竞争将与保存过程相对应。

所有上述算法都与文件竞争有关。因此,ALAsset

的情况下它们都会失败