论坛首页 Java企业应用论坛

有用过网易邮箱的么?关于他的附件上传问题!

浏览 3986 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-09-29  
不知道是否有人研究过无限上传文件。 有两条思路未必能行的通,所以请大家给个解决方案。

1。用户上传的临时文件保存到数据库的临时表中。

  问题是: 如果用户放弃了,这个临时记录如何删除?比如,用户点击返回按钮回到上一页或者直接关闭窗口,这两种事件都无法得到,所以如果用户这样的话,临时数据无法删除。

  2。保存到session中。然后一次性提交到数据库中相应的字段。

  问题:仍然是如果用户中途放弃,session中的临时数据如何删除?有人可能会说session会过期,到时候自动就删除了。可事实还会引来更大的麻烦,比如用户上传了a,b两个文件到session中,此时用户放弃了,回到了上一页面(或其他页面),后来用户又回到上传的页面上传了c,d两个文件,然后点击submit按钮,问题就是他会把先前放弃的a,b也提交了上去(因为他们都是在session中),这就是大问题。

   想过设置标记,但是由于浏览器关闭事件和离开页面的时间根本无法得到,所以没有使用。

  谁有好的想法或者实现么?
   发表时间:2004-09-29  
放到临时目录里面.

每天晚上定时跑一个job, 把临时目录里前一天的文件删除掉.

没有人upload一个文件会花2天的时间吧.......

把文件放到session里面? 你一定是疯掉了......

不要用httpsession这种恶心的东东来做这样恶心的事情了.
0 请登录后投票
   发表时间:2004-09-29  
Readonly 写道
放到临时目录里面.

每天晚上定时跑一个job, 把临时目录里前一天的文件删除掉.

没有人upload一个文件会花2天的时间吧.......

把文件放到session里面? 你一定是疯掉了......

不要用httpsession这种恶心的东东来做这样恶心的事情了.


多谢回复,不过我希望找一个权宜之计,比如你的方法,如果每天凌晨2:00运行这个程序,而1:59分有人做了不合适的操作呢?这岂不是一个Bug?
0 请登录后投票
   发表时间:2004-09-29  
Readonly 写道

每天晚上定时跑一个job, 把临时目录里前一天的文件删除掉.
0 请登录后投票
   发表时间:2004-09-29  
lyo 写道

1。用户上传的临时文件保存到数据库的临时表中。

  问题是: 如果用户放弃了,这个临时记录如何删除?比如,用户点击返回按钮回到上一页或者直接关闭窗口,这两种事件都无法得到,所以如果用户这样的话,临时数据无法删除。


在上传的过程当中如果用户中止了上传,这时候是可以捕捉到一个Exception。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics