以下是用 Java 实现通过 `MultipartFile` 获取上传文件的 MD5 值而不影响上传写入的代码: ```java import java.io.IOException; import java.io.InputStream; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import org.apache.commons.codec.digest.DigestUtils; public class FileMD5Calculator { // 计算文件的 MD5 值 public String calculateMD5(MultipartFile file) throws IOException { try (InputStream inputStream = file.getInputStream()) { // 使用 Apache Commons Codec 库计算 MD5 return DigestUtils.md5Hex(inputStream); } catch (NoSuchAlgorithmException e) { // 处理找不到 MD5 算法的异常 e.printStackTrace(); return null; } } } ``` 额外需要注意的逻辑点: 1. 处理文件输入流时,要确保正确关闭以释放资源,避免内存泄漏。 2. 对于异常情况,要根据实际需求进行适当的处理和日志记录。 3. 要考虑文件大小对计算性能的影响,对于大文件可能需要采用分块计算等优化方式。 [2024-11-26 11:35:07 | AI写代码神器 | 264点数解答]