第一次上传资源,喷血离场

 

这资源上传这个页面http://u.download.csdn.net/upfile是谁做的啊,我的神啊,我今晚上得传快要疯了

 

我的上传限制是25M,我想上传一个30多M的资源,把它压缩成两个压缩包

我第一个压缩文件上传上去了,http://download.csdn.net/source/1360970

但是第二个我上传了9次,一次也没成功,我快喷血了

每次都是等到上传进度条到100%时才提示“此文件您已经上传过!”

我猜想这个页面的上传控件是这样写的:

if(UpdateFileSuccess())

{

}

else

{

}

bool UpdateFileSuccess()

{

UpdateFileToTempFile();

if(!ExistInUpdateFile(TempFile))

{

MoveTempFileToUpdateFile();

UpdateRecordToDatabase();

return True;

 

}

else

{

DeleteTempFile();

Response.Write("<script>windows.alert('此文件您已经上传过!');</script>");

return False;

}

}

当然这只是本人个人的观点,具体还是要看代码才能分析出问题的逻辑错误

本人认为正常逻辑应该是这样的:

if(!ExistUpdateFile())

{

if(UpdateFile())UpdateRecordToDatabase();

}

else

{

Response.Write("<script>windows.alert('此文件您已经上传过!');</script>");

}

由于我第一次上传if(!ExistInUpdateFile(TempFile)){},因而执行了{}

的内容,但是MoveTempFileToUpdateFile();执行成功之后

UpdateRecordToDatabase();由于某种原因没有执行成功,导致我一直想要上传第一次没有记录到数据库的文件时,发现文件已经存在,而记录虽没有,但是已存在的文件是不允许再上传的!

这就导致了我碰到了这种情况的发生!

这个程序的健壮性不好,如果真的是不可避免地存在UpdateRecordToDatabase();有一定的几率会失效的话,那么本人建议用户上传的文件不判断是否存在就直接覆盖,或者可以提示用户是否覆盖已存在的文件,或者不判断是否存在就直接不覆盖

当然看具体情况,要用什么方法了,好了累了,先睡觉了,呵呵

本人qq648952046,有意者联系,呵呵

时间: 2024-10-13 08:42:14

第一次上传资源,喷血离场的相关文章

app store 注册账号生成证书上传app完整的教程

app store为开发者提供四种类型的申请: 个人ios开发者计划$99/年 公司ios开发者计划$99/年 企业ios开发者计划$299/年 高校ios开发者计划免费 在这里主要介绍一下公司ios开发者计划,只有利用个人和公司ios开发者计划证书开发的应用,才能上app store.企业开发者计划主要是为本公司开发软件,并安装到本公司的硬件设备上,不能上app store.下面主要介绍一下公司ios开发者计划的申请. 申请帐号: 打开连接:http://developer.apple.com

php文件上传后端处理小技巧_php技巧

本文就来说说,php文件上传后端处理都有些什么技巧吧! 业务场景一.我们只会选择一个单个的文件上传,而且不需要做一些即时的验证工作.那么,也许并没有什么优化可言了,因为,最后你要做的,只是将这个文件放在表单里最后一起提交,直接处理即可! 业务场景二.需要上传多个文件,而且需要时时验证文件内部内容,并时行相应页面显示.对于这种况,在用户选择了上传文件之后,我们需要立即将文件上传,因为我们需要读取文件里的信息,在最后提交的时候,我们也需要提交一次文件.很明显,在这里是存在一个重复上传的工作的,一个耗

asp:fileupload 上传后预览问题

问题描述 我用自带asp:fileupload上传图片,想实现的功能是选择了文件后预览,保存后上传服务器,再刷新页面.如果第二次上传了不同图片,就不改文件名,直接覆盖掉,这时候问题来了.选择文件的预览是可以,第一次上传也是可以的,但是上传的时候,如果是覆盖掉图片的,自动刷新页面后,显示的还是原来的图片,我要把整个页面关了,再重新打开才能显示新的. 解决方案 解决方案二:在IE下不行,但是在谷歌浏览器下预览不行,刷新后是可以显示的解决方案三:本来IE下是可以的,然后改了预览的代码,在改回去就不行了

javaweb-关于Struts2上传视频问题。

问题描述 关于Struts2上传视频问题. 上传图片的allowedTypes是:image/pngimage/gifimage/jpeg那上传视频的allowedTypes是什么?我网上找了这样的:video/mpegvideo/quicktimevideo/x-sgi-movievideo/mpeg,video/x-msvideo可是测试mp4格式的上传不了.求大神指导下 解决方案 Struts2的上传 解决方案二: 看看代码中有些=写上传资源格式拦截吗 解决方案三: 看看代码中有写上传资源

迅雷上传限制技巧 限制迅雷上传速度

1.智能上网:智能上网模式下,为您智能合理的分配带宽使用,从而让玩网游.看视频.上网更顺畅的效果. 进入迅雷客服端配置中心(Alt+O)-基本设置-模式设置-选择智能上网模式; 2.自定义限速:可以通过自定义限速模式,手动选择当前迅雷所占用的带宽速度,速度受限制,将有空闲的带宽可以提供其它程序使用. 进入迅雷客服端配置中心(Alt+O)-基本设置-模式设置-选择自定义限速模式; 迅雷客服端左下角也有快速设置该功能按钮. 另外,更多设置中,智能上网模式下,有自定义白名单设置,通过检测网游.视频.浏

如何限制迅雷上传的速度

  在本文中,我们来看看如何设置迅雷限制上传速度的方法! 迅雷7.1.5版本的发布的确挺不容易的.在优先体验期间,参加体验的雷友们反馈了不少稳定性方面的问题.开发们也周末加班解决这些问题.并发布了2个修正版,迅雷7.1.5经过这2个修正版的检验 1.自定义限速:可以通过自定义限速模式,手动选择当前迅雷所占用的带宽速度,速度受限制,将有空闲的带宽可以提供其它程序使用. 进入迅雷客服端配置中心(Alt+O)-基本设置-模式设置-选择自定义限速模式; 迅雷客服端左下角也有快速设置该功能按钮. 另外,更

迅雷8怎么限制上传速度

  1.自定义限速: 可以通过自定义限速模式,手动选择当前迅雷所占用的带宽速度,速度受限制,将有空闲的带宽可以提供其它程序使用. 进入迅雷客服端配置中心(Alt+O)-基本设置-模式设置-选择自定义限速模式; 迅雷客服端左下角也有快速设置该功能按钮. 另外,更多设置中,智能上网模式下,有自定义白名单设置,通过检测网游.视频.浏览器白名单,为您智能合理的分配带宽使用,从而让玩网游.看视频.上网更顺畅的效果.也可以自己进行添加例如白名单内.(已经本身存在的程序无法删除). 迅雷是下载的软件,迅雷本身

servlet防止IP上传攻击java

问题描述 servlet防止IP上传攻击java 同一ip 地址(5分钟内,连续 上传 超过 10 次,就让他 等 5分钟再上传)有朋友能提供下代码,或者思路吗? 解决方案 servlet 过滤器中做业务处理,判断他上传的次数,你可以做个上传的变量记录ip和对应的上传记录,以及上传的时间.判断第一次上传后最好一次上传的间隔时间以及次数,如果不满足则调到一个提示页面上传过多.这个代码也没什么的,看看过滤器在这里做处理就好. 解决方案二: 一般这样的需求很少,防止上传攻击可以加上传文件限制和验证码你

html+ajax实现上传大文件功能

大家都知道php上传文件有限制,如果没有修改过php.ini文件的话,默认的上传大小限制为2M,那么该如何上传大文件了,比如说上传一个1G多的大文件,可以使用大文件切割上传的方式来解决. 何为大文件切割上传? 原理:利用HTML5的新特性,将文件内容切割成分段的二进制信息,然后每次向服务器上传一段,而服务器,只需要把我们每次上传的二进制信息整合存储到一个文件中,那么最后这个文件就是所上传的文件. 由于php.ini默认的上传大小为2M,如果每批都上传2M,我测试的时候时间比较长,这里我将其限制大