0
我正在開發一個應用程序,我必須記錄音頻文件並在服務器上上傳。比較android和php服務器上的兩個文件
有一種情況下,互聯網可能關閉,文件只上傳一半。
如何將該文件與android文件系統上可用的文件進行比較,以便在文件未成功上傳時重新上傳文件?
我正在開發一個應用程序,我必須記錄音頻文件並在服務器上上傳。比較android和php服務器上的兩個文件
有一種情況下,互聯網可能關閉,文件只上傳一半。
如何將該文件與android文件系統上可用的文件進行比較,以便在文件未成功上傳時重新上傳文件?
那麼您就可以使用MD5
或SHA1
對於MD5
一些散列函數比較校驗假設你使用Java
爲Android功能會是這樣
public static String checkSum(String path){
String checksum = null;
try {
FileInputStream fis = new FileInputStream(path);
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] buffer = new byte[8192];
int numOfBytesRead;
while((numOfBytesRead = fis.read(buffer)) > 0){
md.update(buffer, 0, numOfBytesRead);
}
byte[] hash = md.digest();
checksum = new BigInteger(1, hash).toString(16);
} catch (IOException ex) {
} catch (NoSuchAlgorithmException ex) {
}
return checksum;
}
爲PHP
它更容易,你可以使用md5_file
功能
$md5 = md5_file($filepath);
您可以從中受益。如果尚未完成上載,則會出現錯誤狀態或超時 – crgarridos