优化代码遇到的上传文件为空的问题,引出的FileInputstream问题
在优化代码时,将`MultipartFile`的`getInputStream()`调用改为使用try-with-resources,导致上传文件变为0KB。原因在于`getInputStream()`每次调用都会返回新的`InputStream`,且`FileUtils.getFileMD5String`的`read`操作消耗了流。`FileInputStream`的`read`方法会更新内部偏移量,所以在计算MD5后,流已指向文件末尾,导致上传时无数据。解决方案是使用两个独立的流分别用于计算MD5和上传文件。