您的位置:知识库 » .NET技术

仿163网盘无刷新文件上传系统

作者: cloudgamer  来源: 博客园  发布时间: 2008-11-03 11:24  阅读: 7204 次  推荐: 2   原文链接   [收藏]  

【后台】

 

前台基本完成了,就到后台啦。后台的功能很简单,就是处理传递过来的文件数据。
这里像js + .Net 图片切割系统那样使用ashx文件处理IHttpHandler发送过来的数据。
程序很简单,就直接贴代码了:

Code

这里只检测了有无文件和文件数限制,其他检测如文件大小等可以自己扩展,应该不难。
处理完数据之后就通知客户端:

context.Response.Write(" ");

这个在上面iframe的内容中已经说明了。


使用说明

基本使用很简单,实例化一个file对象,其中参数分别是form对象,文件空间对象:

new FileUpload("uploadForm""idFile")

这样就实现了一个简单的无刷新上传文件表单。

还可以使用这几个属性:
Form//表单
Folder//文件控件存放空间
Files//文件集合

更多的功能可以选择设置这些属性:
属性名:默认值//说明
FileName:"",//文件上传控件的name,配合后台使用
FrameName:"",//iframe的name,要自定义iframe的话这里设置name
onIniFile:function(){},//整理文件时执行(其中参数是file对象)
onEmpty:function(){},//文件空值时执行
Limit:0,//文件数限制,0为不限制
onLimite:function(){},//超过文件数限制时执行
Distinct:true,//是否不允许相同文件
onSame:function(){},//有相同文件时执行
ExtIn:[],//允许后缀名
onNotExtIn:function(){},//不是允许后缀名时执行
ExtOut:[],//禁止后缀名,当设置了ExtIn则ExtOut无效
onExtOut:function(){},//是禁止后缀名时执行
onFail:function(){},//文件不通过检测时执行(其中参数是file对象)
onIni:function(){}//重置时执行

使用方法可以参考实例。

程序中提供了下面几个方法:
Ini 整理空间
Check 检测file对象
Delete 删除指定file
Clear 删除全部file
完整程序

样式设置

Code

html代码

Code


程序代码

Code

测试代码

Code



【asp版本补充】

由于很多人问我asp版本的后台该如何写,所以决定写一个给大家。
这里我用了化境HTTP上传程序2.1版(应该是最新版了)的无组件上传类,但用的时候发现几个问题(不知是我不会用还是asp本身的问题):
1,当file控件的name是空时,后台会找不到文件;
2,文件名比较短时(例如我用"f"),后台也找不到文件;
3,当有多个file控件,如果使用相同的name,后台只会保存一个文件;
4,我在上传文件后输出的中文是乱码(有时又正常)。

针对前3条,我加了一个RanName属性,设为true的话会自动生成随机的file控件名,对于第4条,我发现如果字是直接写在文档上就不会乱码,所以我这里把输出的文字都直接写在文档上没有用变量。如果有兄弟知道怎么解决这些问题记得告诉我哦。

下载完整测试代码(.net)

下载完整测试代码(asp)

感谢由csdn网友mengshan1986提供的php和jsp版:
下载完整测试代码(php)
下载完整测试代码(jsp)

ps:请注意程序中的文件保存路径,很多人的错误都是没有设置好文件保存路径。

2
0
 

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻