月初发布了HUploadify2.0版本,增加了文件的断点续传功能,得到了不少朋友的好评。本着按照Uploadify原样复制的原则,本次在一些朋友的建议中采纳了几点,做了一次较小的改动,定为2.1版本。所做的改动包括:
1. 对外开放的方法增加settings。
uploadify有settings方法可调用,作用是动态设置上传插件的配置参数,如下:
$('#file_upload').uploadify('settings','buttonText','BROWSE');
当时觉得这个插件很少会动态去设置配置参数,所以就没实现这个接口,没想到有朋友恰好需要,所以就加了。
uploadify的这种调用方法的方式我很不喜欢,settings本身是个方法,却要作为参数传递,而且还要再调用一次$选择器,其实只要把初始化时返回的对象保存下来即可。因此,我的Huploadify提供这样的调用方式:
var up = $('#upload').Huploadify({}); up.settings('formData', {a : 1});
这样用起来会舒服很多。同时,为了保持与Uploadify的统一性,它那样的调用方式也做了兼容,同样可以这样调用:
up.Huploadify('settings','formData', {a:1,});
不过再次调用$选择器的方式我这里没有做兼容,也不打算兼容了,因为这样反而会浪费效率。所以下面这样的调用是不行的:
$('#upload').Huploadify('settings','formData', {a:1,});
2. 对外开放的方法增加destroy
就是把上传插件给销毁。至此,Uploadify所有对外提供的方法调用我这里都实现了。
3. 允许上传的文件类型默认为*.*
即默认允许上传任何类型的文件。
只有以上几点改动,欢迎大家下载使用,有任何bug欢迎留言。再说点题外话,本来在这个插件上没打算投入多少功夫的,没想到还被其他朋友采用到项目中,因此我也会继续维护它,打算年后发布到github上,拉出去献献丑,也让插件的性能和架构再做一次提升~敬请期待!
V2.1的源码包下载地址:http://files.cnblogs.com/lvdabao/Huploadify-V2.1.zip
-----------------------补充于2014.01.28-------------
发现一个不完善的地方,上传成功后的回调函数中,需要依赖于后端的返回数据,若返回数据格式错误或未返回数据,会报错误。这样插件与后端产生了耦合,不恰当,在此做出修改,无论后台是否返回数据,不影响回调函数的执行。追加一个2.1.1版本:
http://files.cnblogs.com/lvdabao/Huploadify-V2.1.1.zip
-----------------------补充于2014.02.24--------------
感谢@ShowStyle提出的一个bug,在文件完整上传后,再次上传相同文件,不应再发送请求。已做相应的修改,在此追加一个2.1.2版本:
http://files.cnblogs.com/lvdabao/Huploadify-V2.1.2.zip
另外我也感觉到了这样管理版本的不便,已开始着手重构插件(API不会变化),并开源在github上。目前1.0版本的已经完成,地址:https://github.com/Double-Lv/Huploadify。欢迎fork。具有断点续传功能的2.0版本也会在稍后开源上去。