我将文件从服务器保存到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 ];
}
答案 0 :(得分:1)
我认为你不能。您可以使用许多算法来比较 SHA-1,MD5,CRC等等文件。但是在ALAsset
的情况下,所提到的全部都会失败。
因为,每当您使用Photo-Library
将文件保存到ALAsset
时,它都会将位置,时间等 ..信息存储在文件中。因此,相同的文件竞争将与保存过程相对应。
所有上述算法都与文件竞争有关。因此,ALAsset