在本地测试无组件上传类上传大文件可以,在服务器上就不行,仿163网盘无刷新文件上传系统...
回复 引用 查看 2008-10-20 11:03 | fkeuem
真的很不错。谢谢。
回复 引用 查看 2008-10-20 11:20 | PuserChen
下载了,学习下! 多谢搂主
回复 引用 查看 2008-10-20 11:23 | guojing
为什么不使用AJAX+上传控件呢 也可以实现无刷新
回复 引用 查看 2008-10-20 11:44 | cloudgamer
@一线风
@fkeuem
@PuserChen
谢谢支持
@guojing
AJAX+上传控件其实也是相同的原理
你也可以用啊,我这里没有讨厌控件的意思啊
这里只是教大家怎么自己动手做这个功能
回复 引用 查看 2008-10-20 13:07 | 吴畏
我是新手,对下面代码有些不解
var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
var FileUpload = Class.create();
FileUpload.prototype = {
//表单对象,文件控件存放空间
initialize: function(form, folder, options) {}}
Class.create() return的是一个Function对象,为什么网上的资料说Class.create()的是一个类,到底javascript里面的类是什么样的概念,望解答,谢谢
回复 引用 查看 2008-10-20 13:47 | cloudgamer
@吴畏
js的类其实就是Function对象
因为js没有真正的类,只是用Function对象模拟的
回复 引用 查看 2008-10-20 13:56 | 王国金
谢谢楼主的无限!
下过来,可以用在项目中。呵呵。
回复 引用 查看 2008-10-20 14:33 | 克隆
不错,记号!
回复 引用 查看 2008-10-20 14:38 | Charles Chen
--引用--------------------------------------------------
guojing: 为什么不使用AJAX+上传控件呢 也可以实现无刷新
--------------------------------------------------------
asp.net ajax中用UpdatePanel异步回传中用上传控件好像后台无法访问到上传控件中的值呢?有什么好的解决方案呢?请各位指教?
回复 引用 查看 2008-10-20 15:40 | 花香
下载下来试了下,总是出现 "名称以无效字符开头"的javascript错误
,麻烦看下
文件路径是
C:\Documents and Settings\Administrator\桌面\1.jpg
回复 引用 查看 2008-10-20 15:50 | cloudgamer
@王国金
@克隆
谢谢支持
@Charles Chen
这个我也不清楚,因为我都没用过
@花香
这个不是js错误,你去google一下吧
因为我这里没有出现这个问题
可能是你的iis处理ashx文件时出现问题
回复 引用 查看 2008-10-20 17:33 | ghd2004
不错!
3Q
回复 引用 查看 2008-10-21 00:02 | cloudgamer
@ghd2004
谢谢支持
回复 引用 查看 2008-10-21 20:00 | 一舟
greate!
回复 引用 查看 2008-10-21 21:21 | OOLi
很好,谢谢,可以学到好多东西啊,我是新手,谢谢
回复 引用 查看 2008-10-21 21:22 | OOLi
为什么有的地方用两个!!啊
回复 引用 查看 2008-10-21 21:44 | OOLi
新手,请问 var a=function(){};
和a:function(){}有什么区别啊,后面这种形式什么时侯用到啊,谢谢啊
回复 引用 查看 2008-10-21 23:15 | cloudgamer
@一舟
@OOLi
谢谢支持
用!!是为了保证返回的是bool值
var a=function(){};效果跟function a(){}类似
a:function(){}是用在对象结构中,例如:
var b={a:function(){}}
回复 引用 2008-10-22 10:18 | humbass [未注册用户]
能不能写个asp的示例啊
回复 引用 2008-10-22 12:32 | 来客 [未注册用户]
不错学习
回复 引用 查看 2008-10-22 16:02 | cloudgamer
@humbass
@来客
谢谢支持
asp实例已经放出
回复 引用 查看 2008-10-22 17:16 | jolboy
好东西!佩服!
回复 引用 查看 2008-10-22 17:25 | 倾叶枫城
学习了,谢谢
回复 引用 查看 2008-10-22 19:39 | cloudgamer
@jolboy
@倾叶枫城
谢谢支持
回复 引用 查看 2008-10-23 08:58 | Jon.Hong
支持大文件吗?
回复 引用 查看 2008-10-23 09:00 | cloudgamer
@Jon.Hong
这个没研究
估计太大的不行
回复 引用 查看 2008-10-23 10:48 | 张玉峰
呵呵,很不错的东东呀,大文件主要是IIS的限制吧
回复 引用 查看 2008-10-23 11:12 | cloudgamer
@张玉峰
大文件上传显示进度条网上有文章介绍
但没找到实例
那位兄弟有的话发一份给我吧
回复 引用 查看 2008-10-23 14:22 | 小老好
不错,晚上回家在看看!
回复 引用 查看 2008-10-23 18:35 | cloudgamer
@小老好
谢谢支持
回复 引用 查看 2008-10-24 15:41 | 漂零
大哥,太强了。学习
回复 引用 2008-10-25 10:57 | gdjlc [未注册用户]
感觉楼主的每篇文章都很经典,忍不住进来赞一句~~
回复 引用 2008-10-25 11:13 | 进来学习 [未注册用户]
下载下来试了下,总是出现 "名称以无效字符开头"的javascript错误
,麻烦看下
文件路径是
C:\Documents and Settings\Administrator\桌面\1.jpg
-----------------------------------------------
我也一样啊,直接打开点"上传"没反应.
把它放在VS在打开,点"上传"后一直显示上传的loading.gif图片,等了四五分钟还是在上传中,请LZ发发慈悲看一下 :)
(是.NET版本的)
回复 引用 2008-10-25 11:21 | 进来学习 [未注册用户]
知道原因了,是自己太懒了,没去仔细看代码,
//保存文件 file.SaveAs(System.Web.HttpContext.Current.Server.MapPath("./file/" + Path.GetFileName(file.FileName)));
这里的路径改为自己的就行了...
回复 引用 查看 2008-10-25 19:37 | 兴百放
不错,不错,有时间可以交流一下
回复 引用 查看 2008-10-25 21:44 | cloudgamer
@漂零
@gdjlc
@兴百放
@进来学习
谢谢支持
回复 引用 查看 2008-10-25 23:23 | 愚公-
【asp版本补充】
由于很多人问我asp版本的后台该如何写,所以决定写一个给大家。
这里我用了化境HTTP上传程序2.1版(应该是最新版了)的无组件上传类,但用的时候发现几个问题(不知是我不会用还是asp本身的问题):
1,当file控件的name是空时,后台会找不到文件;
◆没有name的话,浏览器不会发送文件数据。
2,文件名比较短时(例如我用"f"),后台也找不到文件;
◆这个是程序错误,或者你用的无组件上传类有BUG
3,当有多个file控件,如果使用相同的name,后台只会保存一个文件;
◆网上流传的各种ASP无组件上传类共同的BUG,需要手动修改,改为多个同名控件时存为数组。
4,我在上传文件后输出的中文是乱码(有时又正常)。
◆你程序的字符集问题。明确指定响应字符集,切源文件保存的编码与响应字符集一致,就没问题。
回复 引用 查看 2008-10-25 23:36 | cloudgamer
@愚公-
.net的例子就是没有name的也能发送哦
回复 引用 2008-10-26 09:03 | 举荐 [未注册用户]
其实jsp般也和file的name无关的,大家可以试试啊
回复 引用 查看 2008-10-26 17:28 | cloudgamer
@举荐
有没有name,file都会传送到后台
关键是后台如何获取这个文件
回复 引用 2008-10-28 09:44 | loo [未注册用户]
问下楼主的jsp版本都实现了什么功能,可不可以 就是在本地浏览个文件 然后点击上传,然后就上传到服务器的制定目录上?
回复 引用 查看 2008-10-28 10:37 | cloudgamer
@loo
可以的啊
这个系统就是实现这个功能
记得修改文件保存路径
回复 引用 2008-10-29 13:42 | 学习生 [未注册用户]
为什么我下的。NET没办法上传?
其他的都可以,如ASP的都可以,
回复 引用 查看 2008-10-29 13:51 | cloudgamer
@学习生
看看路径有没有问题
我写的版本是asp.net 2.0的
还有就是看看是不是机器配置问题,因为其他人都能正常运行的
回复 引用 2008-10-29 15:02 | springhcq [未注册用户]
有机会要多向您学习
如果不嫌弃,可以加我为好友:123347564
回复 引用 2008-10-29 17:24 | wei_wei [未注册用户]
ASP版本有BUG,无法自动命名文件名,上传两个(含)以上的文件,提示上传完成,但其实一个文件都没上传。
回复 引用 查看 2008-10-29 21:12 | cloudgamer
@springhcq
一起学习
不过我不怎么上q,有什么问题可以留言
@wei_wei
我试了一下
没问题啊
你确定你下的是asp版而且没有修改程序?
回复 引用 2008-10-30 00:09 | conqweal [未注册用户]
谢谢LZ的贡献精神;
不过FLASH结合支持多个文件直接选取,
似乎是未来的方向.
回复 引用 查看 2008-10-30 00:26 | cloudgamer
@conqweal
FLASH跟js不是同一个东西
我觉得没必要把这两个东西进行比较
各自都有自己的发展的
回复 引用 查看 2008-11-02 15:52 | Freedom~Jun
文章不错,收藏慢慢看
回复 引用 查看 2008-11-03 15:54 | 张荣华
@cloudgamer
关于iframe的创建其实可以不用浏览器检测,可以利用innerHTML属性来完成:
var frameContainer = document.createElement('div'); //创建一个用来放frame的空div
frameContainer.innerHTML = ' ';
document.body.appendChild(frameContainer);
回复 引用 2008-11-03 16:45 | 测试566 [未注册用户]
上传中文文件名的文件,虽上传成功,单文件名变成乱码了,如何解决!
回复 引用 查看 2008-11-03 23:00 | cloudgamer
@Freedom~Jun
谢谢支持
@测试566
这个可能是前后台编码不一致的问题,你可以统一一下编码,或者后台重新定一个名也可以
@张荣华
这样就要加一个div
还是不太好
回复 引用 2008-11-04 15:35 | Fans [未注册用户]
var Each = function(list, fun){
for (var i = 0, len = list.length; i < len; i++) { fun(list[i], i); }
};
朋友 你能不能给我说下这句话的作用,还有一般什么时候用? 有什么好处!麻烦了
回复 引用 查看 2008-11-04 16:17 | cloudgamer
@Fans
就是对list数组的每个元素作为fun函数的参数执行一次
这样说明白吗
回复 引用 2008-11-04 17:01 | 张帅 [未注册用户]
JSP版的读不到文件流呀,在file.jsp中的第一个while循环就退出了,这是怎么回事。
回复 引用 查看 2008-11-04 17:44 | cloudgamer
@张帅
这个别人测试过应该可以的
因为我不懂jsp也没办法解答你
回复 引用 2008-11-05 10:46 | 张帅1 [未注册用户]
@cloudgamer
哦~!
回复 引用 2008-11-06 14:21 | bopo [未注册用户]
你好,我想问一下,我运行.NET实例一无法添加文件,一看提示我已存在该文件,可是什么都没有啊。我清除缓存就是重启的没有变化,请问是什么问题,如何解决?
回复 引用 查看 2008-11-06 14:36 | cloudgamer
@张帅1
呵呵
@bopo
但我这里测试没发现这个问题啊
确定没修改我的程序?
回复 引用 2008-11-06 15:31 | bopo [未注册用户]
是啊。 没有添加任何代码。
就是直接运行你提供的.NET实例。
回复 引用 2008-11-06 15:36 | bopo [未注册用户]
对了,我使用的是IE8。
会不会程序在这个环境下有什么问题。
回复 引用 2008-11-06 15:55 | Fans [未注册用户]
兄弟
var Each = function(list, fun){
for (var i = 0, len = list.length; i < len; i++) { fun(list[i], i); }
};
是不是直接产生闭包了呢?
还有我想知道您博客的预览功能是怎么弄的?
回复 引用 2008-11-06 16:00 | bopo [未注册用户]
下面这句是判断是否有相同文件吧?
if(o.value == file.value){ bCheck = false; }
我分别alert(o.value),alert(file.value)
看到他们两值却是一样,可是我是添加第一个文件呢。
回复 引用 查看 2008-11-06 16:08 | cloudgamer
@bopo
ie8的话我就没测试过了
你在这里的效果预览中有没有这个情况
你用ff试试
@Fans
我想你的理解是对的,主要还是想省点代码
至于预览功能,这个blog本身就可以直接贴html代码
回复 引用 2008-11-06 16:35 | bopo [未注册用户]
一、转了台机方试了试,确实IE8下有问题啊~
二、FF我也试了,文件倒是能上传成功(我到目录下去看以存在),但是界面还是一直停在请等待。
回复 引用 查看 2008-11-06 17:12 | cloudgamer
@bopo
我用ff3和ie7测试过
没有问题哦
回复 引用 查看 2008-11-06 18:26 | 谢小妹
好的,记下了!!!
回复 引用 2008-11-08 15:17 | own [未注册用户]
谢谢
回复 引用 2008-11-08 15:18 | own [未注册用户]
以后多多交流!我的q是105940137
回复 引用 2008-11-09 22:09 | 小可66 [未注册用户]
不错 支持一下
回复 引用 2008-11-11 09:40 | noihsi [未注册用户]
很不错的效果,只是提交页面给程序员的时候,他们说不能跟 JSP 后台连接上,真是有点晕!!多谢!!
回复 引用 查看 2008-11-11 10:36 | cloudgamer
@谢小妹
@own
@小可66
谢谢支持
@noihsi
jsp应该也行的
详细看例子吧我不怎么懂jsp
回复 引用 2008-11-14 14:31 | poisson123 [未注册用户]
在FileUpload.prototype的initialize定义中
this.Distinct = !!this.options.Distinct
为什么前面要打两个!非?
可不可以直接
this.Distinct = this.options.Distinct;代替呢?
回复 引用 查看 2008-11-14 14:48 | cloudgamer
@poisson123
用!!可以保证返回的是bool值
回复 引用 2008-11-15 20:18 | qingren [未注册用户]
怎么写进数据库啊????????????
回复 引用 2008-11-15 20:20 | 多多大人 [未注册用户]
我发现发上传的都不能重新命名,如果是重名,就只保存最后一个
回复 引用 查看 2008-11-16 00:29 | cloudgamer
@qingren
写什么进数据库?
@多多大人
不知你是说哪个版本
我这里是直接用原来的文件名作为文件名
你可以在程序中改名再保存文件的
回复 引用 2008-11-19 13:56 | hier [未注册用户]
我有个问题,asp.net开发的时候上传一般不会在一个htm页面上,如果一个aspx页套用了模板页,请问怎么将aspx;form里面的action指向'ashx'文件了?!
回复 引用 查看 2008-11-19 14:13 | cloudgamer
@hier
生成的页面的form肯定有一个id的
你把这个id作为实例化的参数并用js修改它的action
不过之后页面就不能正常提交了
回复 引用 2008-11-19 14:44 | hier [未注册用户]
呵呵,楼主东西做的很好,但是更多的应该想想应用方面的要不只能当"花瓶"了。
回复 引用 查看 2008-11-19 15:02 | cloudgamer
@hier
也不是花瓶啊
这是我们开发的网盘的文件上传部分
asp.net开发也不是不要html啊
而且也可以用其他方法绕过提交的问题
例如插入一个新的form作为提交form,或者把文件上传页面作为iframe插入等等
而且我后台方面很菜,说不定从后台的方向想有好的解决方法(例如弄成一个控件什么的)
我想这里只是一个例子教学,运用时还是自己多思考一下吧
回复 引用 查看 2008-11-22 08:51 | fengsky491
学习了。
问问怎么收藏博主的文章,嘿嘿。。。
回复 引用 查看 2008-11-23 00:01 | amingo
我现在有这样一个需求:
针对每一个附件有一个附件类型字段,比如:工作报告,问题总结等。
这就需要在每添加一个附件时,旁边要有一个下拉菜单来选择附加类型。
但如何将附件和这个附件的类型一起action到提交页面呢??而且附件和类型要一一对应。
回复 引用 查看 2008-11-23 00:20 | Hunts.C
哇塞,顶~!
回复 引用 查看 2008-11-23 01:56 | cloudgamer
@fengsky491
@Hunts.C
谢谢支持
@amingo
这个我确实没想到很好的方法
我有一个思路是添加一个file后
根据file的value添加一个类型选择,例如把value作为类型选择的name
这样提交到后台后就能用FileName获取对应的类型数据
不过没有实践过不是是否可行
回复 引用 2008-11-25 17:25 | 木木1983 [未注册用户]
无奈啊...多文件同时上传.为什么只成功一个..我倒....
回复 引用 查看 2008-11-25 19:14 | cloudgamer
@木木1983
你说的是哪个版本
回复 引用 2008-11-28 14:38 | 剑无名 [未注册用户]
看了博主的文章,很受用。我利用博主此文实现的效果,结合DWR做了一个JAVA版的无刷新上传,在仿网盘效果之上加入了上传进度条的功能,在这里打个广告:http://blog.163.com/linlong0613@126/blog/static/625258562008102804829960/。希望对java开发的朋友有帮助。谢谢博主大哥的辛勤劳动!
回复 引用 查看 2008-11-28 16:10 | Daniel_Wu
喜欢简单的方法。
回复 引用 2008-12-01 01:07 | dragon_zhang [未注册用户]
jsp的路径那里是不是必须给绝对路径,我给了相对路径怎么不好使!
回复 引用 查看 2008-12-01 08:23 | cloudgamer
@Daniel_Wu
@dragon_zhang
谢谢支持
你把相对路径转成绝对路径就行了
jsp应该有这样的方法吧
我不太懂jsp
回复 引用 2008-12-01 14:39 | 我是小菜 [未注册用户]
请问怎么设置文件大小的限制啊
回复 引用 2008-12-01 14:48 | 我是小菜 [未注册用户]
请楼主帮帮忙,谢谢
回复 引用 查看 2008-12-01 15:06 | cloudgamer
@我是小菜
由于安全问题文件大小一般来说在客户端是不能检测得到的,如果是图片的话可以用下面这个方法获取(ie6)
回复 引用 2008-12-01 20:08 | 我是小菜 [未注册用户]
首先感谢楼主的回复,在您没有回复的时候,我自己试了一下这个
var fso = new ActiveXObject('Scripting.FileSystemObject');
var file1 = fso.GetFile(file.value);
file1.Size 就能返回,但这存在安全性的问题,必须在IE的安全里把“没有设为安全的active”那个启用,所以还是楼主高,呵呵,我在现在代码的基础上加了一Length和onLength,向你学习
回复 引用 查看 2008-12-02 08:23 | cloudgamer
@我是小菜
那个一般客户端都是禁止的
所以一般行不通
回复 引用 查看 2008-12-03 17:32 | shawnliu
qiang
回复 引用 查看 2008-12-04 15:14 | 醉春风
楼主写的这个不错。
有一个小地方,“添加文件”按钮问题。IE8中又变成了“浏览”字样。
回复 引用 查看 2008-12-04 15:31 | cloudgamer
@shawnliu
@醉春风
谢谢支持
这个ie8的问题因为我没有ie8也测试不了
而且ie8正式版都还没出呢
到时再看吧
在本地测试无组件上传类上传大文件可以,在服务器上就不行,仿163网盘无刷新文件上传系统...相关推荐
- [转]仿163网盘无刷新文件上传系统
原文链接:http://www.cnblogs.com/cloudgamer/archive/2008/10/20/1314766.html 这个仿163网盘无刷新文件上传系统,并没有用使用.net的 ...
- 仿163网盘无刷新多文件上传系统
这个仿163网盘无刷新多文件上传系统,并没有用使用.net的控件,完全的手工制作.前台基本上是静态的,跟后台没有关系,所以后台用什么语言做都可以(后面有各个版本的实例下载). 本来觉得这个系统会很复杂 ...
- 每日资源分享(彩虹外链PHP网盘V5.4更新 新增用户系统与分块上传)
demo软件园每日更新资源 1.跟我一起写Python 完整版PDF Python 就为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容.用 Python 开发,许多功 ...
- 【最终版】PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化,添加内容窗口
[最终版]PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化,添加内容窗口 文章目录 [最终版]PyQt5 自定义标题栏,实现无边框,最小化最大 ...
- linux部署来源网盘,在CentOS8.2上搭建Nextcloud私人网盘
前言 Nextcloudd是一个开源的.基于本地的文件共享和协作平台,它允许您保存文件并通过多个设备(如PC.智能手机和平板电脑)访问它们. 同样的我们可以自己购买一个云服务器,部署一个属于自己的私人 ...
- PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化
PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化 文章目录 PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变 ...
- 百度网盘是如何实现妙传的
最近看到一篇不错的写百度网盘如何实现的文章,写的简单易懂,原文链接:http://www.aboutyun.com/thread-8125-1-1.html 问题导读 1.百度网盘是如何分配空间的? ...
- python调用百度网盘开放平台接口上传本地文件
本文章是为如何在没有GUI的环境下,使用指令行上传文件到百度网盘提供一个思路,其他操作请自行查询官方文档拓展. 前期工作 申请成为开发者 创建应用 记录AppKey和SecreKey,后续开发需要使用 ...
- 如何提高本地文件上传至百度云的速度_上传1GB/s,下载1KB/s的原因终于找到了! | 细说网盘储存机制...
2012年,一款名为「百度云」的"云储存软件"横空出世,凭借其便捷的资源分享和在线预览文件功能,赢得了大部分用户好评.并在短短的两个月时间内,个人用户就已突破1000万,为「云储存 ...
最新文章
- GNN、RL强势崛起,CNN初现疲态?这是ICLR 2021最全论文主题分析
- 《数据科学:R语言实现》——3.9 排列数据
- sqlite 使用 cte 及 递归的实现示例
- android:contentInsetStart android:contentInsetEnd contentInsetStart paddingstart paddingEnd
- 一种结合颜色特征和区域生长的疾病斑图像分割方法(复杂环境下分割效果好)
- 开发 Windows 8 Bing地图应用(4)
- 【UVA11168】Airport(凸包+点到直线距离(一般式))
- Edraw Max 9.4中文版激活教程
- SQL Server 2012 SQLEXPRESS 无法通过IP连接访问问题的解决
- NX文件名与工程图名自动关联
- Android专业DJ,著名音乐游戏《DJ英雄》登陆Android Market
- MongoDB简单学习小总结
- 飞书接入ChatGPT,打造属于自己的智能问答助手
- 关于Jupyter Notebook的环境配置
- Smith Chart - for myself
- UPS不间断电源不工作如何确定是否损坏
- 如何用python实现电商订单接口API
- vue项目中自动拉取更新Iconfont(阿里巴巴图标库)
- 深度学习Pytorch/Caffe-GPU环境配置
- Java并发(3)--项目准备:环境初始化、案例准备、并发模拟工具、并发模拟代码