我应该如何处理这个文件上传问题

本文关键字:文件 问题 何处理 处理 我应该 | 更新日期: 2023-09-27 18:04:38

我允许用户上传照片。

用户可以使用flash机制一次上传多张照片。用户可能会尝试上传相同的文件两次或更多次。

理想情况下,用户不应该有相同的照片两次。这可能会淹没系统。

如何防止用户上传重复文件?

处理这个问题的正确方法是什么?我要阻止用户上传重复的文件吗?目前,我正在检查每个文件,如果用户使用ajax WS调用它。但是用户不会经常上传重复的文件,但是检查的成本总是很高。

我可以避免昂贵的检查和检查,只有在保存?

以不同的名称保存用户文件?

我只是想看看别人会怎么做。

谢谢

我应该如何处理这个文件上传问题

如果您使用guid作为名称来保存,可以确保您永远不会复制到现有文件

为了减少文件检查的成本,使用Enlib之类的东西来缓存文件数据,保存名称、大小等,这样你就可以快速检查数据是否匹配,而不是调用系统。IO检查文件

允许用户上传文件到一个临时区域。上传文件时,使用MD5或类似算法计算文件的哈希值。在数据存储中查找哈希值。为了减少冲突的可能性,查找可以包含上传文件的用户的哈希值和用户名。

如果哈希已经存在,则文件已经上传,因此基本上可以从临时区域中删除该文件。

如果没有找到哈希值,则可以将该文件添加到系统。

如果哈希值可以在上传过程开始之前计算和检查,那就更好了,用户也不会浪费时间上传。

请注意,零长度的文件将产生相同的哈希值,因此应检查以确保文件有效。