CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

求用户上传产生无效文件的解决思路代码

楼主andylon()2005-06-02 16:58:30 在 Web 开发 / ASP 提问

在编写用户文件上传功能的时候,通常都是在form表单中设置一个隐藏的input控件,并使用iframe嵌套一个用于上传控制的文件,由用户输入本地文件,然后执行上传程序,完毕之后把文件的名称通过客户端脚本传递给父页面的隐藏input。在用户输入完其它信息后提交表单,系统就会把表单数据(包括input的值,即用户上传的文件名)一起写入到数据库中。但这种方式会带来一个问题:用户完成文件上传之后又没有提交表单,以至于上传的文件信息没有写入到数据库中,这样上传的文件就会变成废文件。另外,如果我们没有对用户在上传文件之后按回退键或者刷新页面等这些不正常的操作加以很好限制的话,那么废文件的生成就是不可避免的。  
    那么,如何才能比较好地解决这个问题呢?狂人参考了网上的一些资料,经过实践之后,总结了一条设计思路,仅供参考,也欢迎指正,以便改进。  
   
    其实思路很简单,主要是受到了中转站的启发。在用户执行文件上传操作的时候,事实上是执行了以下的步骤:  
    1、获取用户的Session.SessionID值或用户帐号,并以该值作为文件夹名,使用FSO对象新建一个临时性质的文件夹。  
    2、将用户文件上传至该文件夹中,并把文件名作为返回值赋予表单的隐藏input。如果用户在此期间执行了不正常的操作(如后退,刷新页面等),则所有的文件都将上传到该临时目录中,且返回给表单隐藏input的值只为最后一次上传的文件名。  
    3、用户在填写完表单的信息后提交,将信息写入数据库,并从隐藏input中获取文件名,使用FSO对象把该文件从临时文件夹复制(或移动)至目标文件夹,完成后将临时文件夹删除。  
          4、产生上传文件的列表,可以在线删除文件 问题点数:80、回复次数:5Top

1 楼andylon()回复于 2005-06-03 10:07:02 得分 0

没人顶啊Top

2 楼goodstuday(路漫漫)回复于 2005-06-03 10:11:45 得分 50

帮顶,看看有没有别的好方案  
  我也都是建立一个总的临时文件夹,把图片先传到这里,等其他的数据提交成功后再把图片转移到正式的文件夹,然后定时的清除临时文件夹。Top

3 楼dama2003(以后要开始加班了………………)回复于 2005-06-03 10:39:04 得分 0

弓虽Top

4 楼iuhxq(小灰)回复于 2005-06-03 10:50:41 得分 0

都是这个方法呀Top

5 楼zmgnwpu(大海)回复于 2005-06-03 11:02:22 得分 30

在同个页面上传,提交阿,这不是很好,为什么分页?Top

相关问题

  • 防止用户上传产生无效文件的解决思路
  • 如何应用存储映射文件建立任意大小的文件?(思路/代码)
  • 如何应用存储映射文件建立任意大小的文件?(思路/代码)
  • 读取某一文件夹所有图片的文件名进数据库的某一个字段,思路和代码大概是怎么写的?
  • 载文件代码出错
  • 求文件加密代码。
  • 兄弟们,请问在win2k下,怎么实现在exe文件加上自己的一段代码,给点思路?
  • 的后台代在asp.net码中能否用ftp协议实现文件上传,请大侠们给个思路,当然有源代码更好
  • 为何下面的代码无效果?
  • 为什么这段代码无效

关键词

  • 文件夹
  • 文件
  • 用户
  • 文件名
  • 数据库
  • 页面
  • 执行
  • 信息
  • 表单
  • 临时

得分解答快速导航

  • 帖主:andylon
  • goodstuday
  • zmgnwpu

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo