内部邮件系统 用户容量问题探讨
公司OA里面有一个内部邮件系统
其结构说白了就是对数据库的操作,附件在数据库中是路径,文件保存在服务器上
现在用户提出要对每个用户给一个容量,不超过30M
大家有没有什么好的方法都说说看呢...
------解决方案--------------------既然是文件,可以在客户端判断文件大小呀。或者在IIS限制文件大小。
------解决方案--------------------为每个单元适当得分配最大容量,其总和小于等于30兆,有必要的话可由用户名选择其中的某种订好的方案。
------解决方案--------------------给每个用户分配一个文件夹,如果哪个用户的文件夹内文件超过30M的话,就不让他上传文件了!
------解决方案--------------------你用的是Exchange?用Exchange自己带的磁盘配额
用Windows自己带的磁盘配额也可以,如果你用的是windows集成身份登录的话
------解决方案--------------------最好的办法是建立文件夹,办法一点也不麻烦
UserMailAttach
Recieve
Draft
///将用户的附件统计出来,IO
long GetAttachLength(string userId)
{
return ;//bytes.length
}
//将用户的邮件正文长度统计出来,读数据库的操作
long GetUserTextLength(string userId)
{
}
------解决方案--------------------给用户邮件账户设置一个已用额度字段,上传时取得文件大小,然后加到已用额度,大于某个值就不让他用了
在邮件附件中设置附件大小也可以,用的时候再汇总
文字一般没多少,无所谓了
------解决方案--------------------可以在操作邮件时,在数据库中记录邮件的大小;这样的话,比较容易计算邮箱容量(已经使用和未使用等)大小.