1

我正在将文件从服务器保存到 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 ];
    }
4

1 回答 1

1

我认为你不能。您可以使用许多算法来比较SHA-1、MD5、CRC 等文件。但是,在 的情况下ALAsset,上述所有内容都将失败。

因为,每当您保存文件以供Photo-Library使用ALAsset时,它将与文件一起存储位置、时间等信息。所以同一个文件对应的保存过程会有所不同。

以上所有算法都是针对文件竞争的。所以它们都将在以下情况下失败 ALAsset

于 2012-12-07T05:03:00.633 回答