第一次上传资源,喷血离场
2009-05-29 00:20
549 查看
这资源上传这个页面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,有意者联系,呵呵
我的上传限制是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,有意者联系,呵呵
相关文章推荐
- 第一次上传和发布资源
- 我上传了资源,不让我删除,这不是强盗网站吗。
- 第一次上传代码到github
- shell 脚本,功能上传图片(第一次写shell,留作纪念)
- QT实现CSDN上传资源管理助手Demo之(2)模拟登录CSDN网站
- QT实现CSDN上传资源管理助手Demo之(3)请求上传资源页面并解析
- 关于git的创建远程仓库并第一次连接远程仓库以及上传文件
- JavaWeb+Ueditor上传图片到项目外资源文件
- 上传jcenter的“第一次”所遇到的坑
- centOS+nginx 搭建SFTP服务实现上传和nginx访问资源
- unity3d远程加载资源模型到本地并加载(二)第一次加载资源后写到本地后从本地加载。
- 上传资源下载
- 如何上传资源
- 第一次往github上传文件步骤
- CSDN的资源上传功能挂掉了?
- 分文件夹进行存储上传资源
- 七牛开发者文档中心 - 资源上传
- .Net语言 APP开发平台——Smobiler学习日志:如何快速实现手机上的资源上传功能
- 删除CSDN上传的资源
- 浅述上传资源文件