2013-06-04 2 views
1

Я разрабатываю страницу для загрузки файлов. Я использую Spring framework 3 multipartFile. Я хочу сохранить этот загруженный файл только в том случае, если он был изменен с его исходной версии на сервере. Есть ли способ, которым я могу выполнить проверку MD5, не сохраняя этот загруженный файл во временном месте?md5 проверить входной поток без сохранения как файл

Спасибо, Vasanta

ответ

1

Вы можете использовать getBytes() метод MultipartFile «s, чтобы прочитать содержимое как массив байтов, а затем:

byte[] uploadBytes = upload.getBytes(); 
MessageDigest md5 = MessageDigest.getInstance("MD5"); 
byte[] digest = md5.digest(uploadBytes); 
String hashString = new BigInteger(1, digest).toString(16); 
System.out.println("File hash: " + hashString); 

Однако, согласно the documentation файл может потенциально все еще сохраняются во временную папку (но пружина затем очистит ее):

Содержимое файла либо сохраняется в памяти, либо временно на диске.