如何知道视频是否已成功上传?

时间:2016-05-05 13:07:50

标签: java spring-boot

我有一个方法,它接收一个文件并将其上传到给定的路径上。

这是我的服务

public String fileUpload(MultipartFile file) throws IOException {
        log.debug("uploading video");
        File fileUpload = new File(file.getOriginalFilename());
        if (!file.isEmpty()) {

            InputStream inputStream = file.getInputStream();
            byte[] buf = new byte[1024];
            FileOutputStream fileOutputStream = new FileOutputStream(new File(
                    fileUploadPath + File.separator
                            + file.getOriginalFilename()));
            int numRead = 0;
            while ((numRead = inputStream.read(buf)) >= 0) {
                fileOutputStream.write(buf, 0, numRead);
            }
            inputStream.close();
            fileOutputStream.close();
}
else {
            return Constants.EMPTY_FILE;
        }
}

上传文件后,我必须将信息保存在我的数据库中。文件大小可能是1GB或2GB。我的问题是如何知道文件是否完全上传。所以我可以保存状态上传成功我的数据库。 有人请帮我看一下吗?

1 个答案:

答案 0 :(得分:0)

  1. 您可以在上传文件之前创建MD5哈希。通过How to calculate md5 hash of a file using javascript使用JavaScript创建MD5哈希,看看这个。
  2. 文件完全上传后,您可以使用MessageDigest创建另一个MD5哈希值,再次将其与上传前的哈希值进行比较。 (参见示例:http://javarevisited.blogspot.com/2013/06/how-to-generate-md5-checksum-for-files.html