java上传文件并进行MD5加密前端后端
时间: 2023-10-18 13:14:55 浏览: 38
前端代码:
```
<input type="file" id="file">
<script>
const fileInput = document.getElementById('file');
fileInput.addEventListener('change', () => {
const file = fileInput.files[0];
const reader = new FileReader();
reader.readAsArrayBuffer(file);
reader.onload = () => {
const data = reader.result;
const hash = CryptoJS.MD5(CryptoJS.lib.WordArray.create(data)).toString();
// 发送请求将文件和hash值传给后端
};
});
</script>
```
后端代码:
```
@PostMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file, @RequestParam String hash) {
// 验证文件的MD5值是否与前端传来的hash值一致
String md5;
try {
md5 = DigestUtils.md5Hex(file.getInputStream());
} catch (IOException e) {
e.printStackTrace();
return "上传失败";
}
if (!md5.equals(hash)) {
return "文件损坏,上传失败";
}
// 存储文件
// ...
return "上传成功";
}
```