[英]How to tell if a file has been uploaded through NSFileManager ios
我正在將文件上傳到Dropbox,我想知道我是否可以通過NSFileManager標記任何內容來測試是否已經上傳文件。 我一直在梳理文檔,還沒有找到任何可以幫助的東西。
例如,如果我上傳了一個名為song.m4a的文件,並且用戶在應用程序中更改了該文件的名稱,我怎么能夠找出該文件是否已使用新名稱上傳,以便文件沒有再次上傳?
是否有任何屬性或屬性我可以設置以查看文件是否已上傳?
謝謝。
您可以使用散列,例如,您可以計算文件的MD5散列並將其存儲在手機上的本地文件中,當用戶嘗試上傳文件時,您不檢查其名稱,只需重新計算MD5散列和檢查它是否存在於您的本地文件中,如果存在,則之前上傳過一次。
編輯:
您可以將任何內容轉換為NSData,然后計算該NSData的哈希值,例如,在您的情況下,您可以像這樣加載文件
NSData* data = [NSData dataWithContentsOfFile:yourFilePath];
然后你可以像這樣哈希吧
- (NSString*)MD5:(NSData*)input
{
// Create byte array of unsigned chars
unsigned char md5Buffer[CC_MD5_DIGEST_LENGTH];
// Create 16 byte MD5 hash value, store in buffer
CC_MD5(input.bytes, input.length, md5Buffer);
// Convert unsigned char buffer to NSString of hex values
NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x",md5Buffer[i]];
return output;
}
並且不要忘記導入
#import <CommonCrypto/CommonDigest.h>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.