我们想在C#应用程序中创建一个小型文档管理系统。应该可以下载文件,编辑它然后再次上传。整个事情在这样的网格中表示:
文件名|由|
检查 FileAbc | userXY23423423 |下载|上传
FileDek | userdMd8765655 |下载|上传
FileGHI | userhW45389459 |下载|上传
现在可以在上传时识别下载的文件,例如: G。使用存储在数据库中的哈希。这是为了确保不会意外覆盖另一个文件。
用例:
- 用户可以使用<input type="file" name="file" />
上传文件
- 文件列在上面的网格列表中。
- 另一个用户现在应该可以下载 FileAbc ,修改它并再次上传。 现在,修改后的上传文件将覆盖服务器上的原始文件。
现在我们的问题与如何从文件上传中查找原始文件相同?
我们首先尝试了文件的创建日期。每次下载文件时都会更改。
然后我们找到了文件的属性列表:FileAttributes Enumeration。不幸的是,我们无法使用GUID或类似内容编写自定义属性值。
这使得当前唯一可用于将GUID存储在文件名中的选项。但是,我们希望避免这种情况,因为用户可以将其视为奇怪并在上传过程中将其删除。
我目前的代码只是一个常见的上传/下载功能,如File Upload。 我不期待任何最终的解决方案,但真的很欣赏一个好的提示。
答案 0 :(得分:0)
我同意克里斯建议的解决方案。作为选项,您可以尝试对文件使用双扩展名,例如,用户可能会尝试下载名为“fileName..extension”的文件(例如report.abch545a.doc)。但同样,我不认为从UX的角度来看这是指定原始文件的最佳方式:-)只是一个选项: - )