[英]how can I check if image downloaded is corrupted or not in iOS app?
我有一個iPhone應用程序,將根據需要下載照片工作得很好但偶爾文件被保存被破壞,只有部分圖像將顯示,其余部分顯示為灰色。 例如,前25%將是實際圖像,而較低的75%將是灰色。
這是我下載圖像的代碼,我假設響應代碼為200意味着請求已正確完成。
ASIHTTPRequest *requestl = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:URLLarge]];
[requestl startSynchronous];
if ([requestl responseStatusCode]==200) {
NSData *responseData = [requestl responseData];
NSError *writeError = nil;
[responseData writeToFile:savePathLarge options:NSDataWritingFileProtectionNone error:&writeError];
if (writeError !=nil) {
NSLog(@"\n\n Write returned error: %@ \n\n", [writeError localizedDescription]);
}
}
從這個[https://stackoverflow.com/questions/5699645/can-i-check-if-downloaded-image-is-corrupt-or-not-before-saving]問題,它說,如果我嘗試加載此圖像在UIImageView中並且它不加載此圖像已損壞但我的圖像將以這種損壞的格式加載而沒有問題,因此該解決方案對我不起作用。
如果這種情況經常發生,您可能在下載映像時遇到問題,或者服務器出現問題。 但仍然
一種方法是在設備上生成圖像的MD5哈希值,然后嘗試將其與存儲在服務器上的圖像的哈希值進行比較。 如果它們不匹配,那么你就知道出了什么問題。
您可能需要自己的服務器來執行此操作,您可以輕松編寫PHP腳本來為您執行此操作(應該是在線指南),如果腳本與圖像位於同一服務器上會更好(但您沒有如果它是你自己的服務器,請提一下)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.