我正在开发一个 ASP.NET MVC 站点,我的部分要求是用户能够互相发送消息。
从表面上看,这并不是一项艰巨的任务。最简化形式的消息传递只是一个“消息”表,其中包含“SenderID、ReceiversID(FK)、主题、消息”等内容。
但是,您将如何处理“附件”?用户可以在我们的网站上浏览包含财务信息的机密 PDF,并且他们应该能够单击“发送报告至”按钮将报告连同文本消息一起发送给其他用户。
同样,他们将能够上传多个文件,并将它们与他们的消息一起发送(不仅仅是他们可以浏览的内部文档)。
您将如何在 ASP.NET MVC 中处理这个问题?
我考虑过在某处有一个附件文件夹和一个附件表,因此如果用户单击“发送报告到”或上传文档,该文件将复制到附件文件夹并在附件表中创建一个条目。
然后,如果用户单击具有 /messaging/attachments/{fileID} 之类的路由的链接,它将向他们发送适当的文件。我什至可以在附件/文件表中维护每个文件的校验和,因此如果用户发送相同的报告,我们将不会在附件文件夹中复制文件。
在某种程度上,感觉就像我在重新发明电子邮件,但客户坚持认为,为了保持安全合规性,我们不能简单地将这些报告通过电子邮件发送给我们的用户,他们必须登录我们的系统才能检索它们。
这是做这样的事情的正确方法还是我应该看看不同的方法?