C# - 如何使用其源标识已修改的文件

时间:2017-08-14 09:58:38

标签: c# file identification

我们想在C#应用程序中创建一个小型文档管理系统。应该可以下载文件,编辑它然后再次上传。整个事情在这样的网格中表示:

  

文件名|由|
检查   FileAbc | userXY23423423 |下载|上传
  FileDek | userdMd8765655 |下载|上传
  FileGHI | userhW45389459 |下载|上传

现在可以在上传时识别下载的文件,例如: G。使用存储在数据库中的哈希。这是为了确保不会意外覆盖另一个文件。

用例:
- 用户可以使用<input type="file" name="file" />上传文件 - 文件列在上面的网格列表中。 - 另一个用户现在应该可以下载 FileAbc ,修改它并再次上传。 现在,修改后的上传文件将覆盖服务器上的原始文件。

现在我们的问题与如何从文件上传中查找原始文件相同?

  • 我们首先尝试了文件的创建日期。每次下载文件时都会更改。

  • 然后我们找到了文件的属性列表:FileAttributes Enumeration。不幸的是,我们无法使用GUID或类似内容编写自定义属性值。

  • 这使得当前唯一可用于将GUID存储在文件名中的选项。但是,我们希望避免这种情况,因为用户可以将其视为奇怪并在上传过程中将其删除。

我目前的代码只是一个常见的上传/下载功能,如File Upload。 我不期待任何最终的解决方案,但真的很欣赏一个好的提示。

1 个答案:

答案 0 :(得分:0)

我同意克里斯建议的解决方案。作为选项,您可以尝试对文件使用双扩展名,例如,用户可能会尝试下载名为“fileName..extension”的文件(例如report.abch545a.doc)。但同样,我不认为从UX的角度来看这是指定原始文件的最佳方式:-)只是一个选项: - )