日期:2014-05-19  浏览次数:20461 次

关于多用户同时上传文件造成文件错乱的问题!!!!!!!!!!!!!!!
现手头有一简单OA系统,单纯实现公司内部公文收发功能

功能描述如下:
一个超级简单的界面,标题栏,内容,附件上传控件(可实现多附件上传)
点提交按钮发送信息

现出现问题描述如下:
因为该系统是本公司局域网用户使用,所以有可能同时出现几十人同时使用该软件的情况,现发现有一个比较严重的问题,就是当发送信息时多人同时上传附件的时候,接收方收到的附件会出现调个的情况

例如:
A用户向C用户发送信息,上传一附件名为:111.doc
B用户向D用户发送信息,上传一附件名为:222.doc
以上两用户上传附件时间有时可能相同,或者上传时间有时只相差1-2秒钟(可通过数据库上传时间字段查询到)

结果是:
C用户收到A用户发送的信息,但是收到的附件是222.doc
D用户收到B用户发送的信息,但是收到的附件是111.doc
两个附件彻底调了个,问题严重的时候可能出现几个附件相互调个的现象


此问题出现至今已有一段时间,虽说出现频率不是非常高,但由于有时发送的附件涉及机密内容,所以当突然间出现以上情况的时候结果会很严重!

希望各方高人能伸出援手,帮帮小弟.
小弟在此谢过各位,谢谢!!!!!!

------解决方案--------------------
这个应该是你程序的问题。不严密。
------解决方案--------------------
这样的问题描述谁都帮不了你。
大家都没有看到你的源代码,所以无法很准确的回答。
------解决方案--------------------
使用多线程来实现
要注意线程安全
------解决方案--------------------
Guid 重新命名
------解决方案--------------------
如果严格定义发送对象,怎么会乱呢?
用session了么?(if bs)
------解决方案--------------------
代码处理有问题,给你一个建议,在文件上传的时候给文件一个随机数,这样基本上问题就不大了。
------解决方案--------------------
上传的时候严格确定接收对象,另外文件名可以加上发送人的登录名,这样就可以区分同时发送的文件了。
------解决方案--------------------
还是应该 使用时间或随机名称来保存数据
文件名 可以使用原来的名称 但是 实际保存路径文件修改过

------解决方案--------------------
我觉得是应该是程序的问题

我做的邮件多附件情况下,都没这个问题呢!
------解决方案--------------------
`你给每个用户建立一个文件夹不 就 OK了阿