HHuploadify 升级,一个风骚的版本

广告位招租
扫码页面底部二维码联系

HHuploadify是一个纯粹的图片上转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。传组件,说纯粹是因为只考虑把它用来上传图本文作者:唐霜,转载请注明出处。【关注微信公众号:wwwtangshuangnet】片。当然,上传文件也是没问题的,但是文件原创内容,盗版必究。【关注微信公众号:wwwtangshuangnet】上传的UI应该和图片上传的UI有较大的区【本文受版权保护】本文版权归作者所有,未经授权不得转载。别,而且文件上传也不存在preview的【未经授权禁止转载】【关注微信公众号:wwwtangshuangnet】问题。

【本文首发于唐霜的博客】【作者:唐霜】原创内容,盗版必究。【本文受版权保护】

为什么要升级?

HHuploadify最初的版本是我在H本文作者:唐霜,转载请注明出处。【作者:唐霜】uploadify这个jquery插件的【未经授权禁止转载】【本文受版权保护】基础上开发的,UI改了,上传的时候支持的转载请注明出处:www.tangshuang.net【本文受版权保护】功能多了。在发布后的几年里,不断有人问我转载请注明出处:www.tangshuang.net【关注微信公众号:wwwtangshuangnet】xxx可不可以,我的大部分回答,都是要自【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】己写代码实现。这几天因为公司产品rele原创内容,盗版必究。本文版权归作者所有,未经授权不得转载。ase之后相对有点闲了,就打算重写一遍H【版权所有,侵权必究】【作者:唐霜】Huploadify。

【本文首发于唐霜的博客】【本文首发于唐霜的博客】

大概花了两天的时间,重构过程还算顺利,最【作者:唐霜】本文作者:唐霜,转载请注明出处。开始想支持IE8,但最后因为iframe【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。提交时报dined错,就只能放弃了。现在【作者:唐霜】【版权所有】唐霜 www.tangshuang.net插件能支持到IE9(IE9也有一点坑,但【原创内容,转载请注明出处】著作权归作者所有,禁止商业用途转载。是大部分情况下还过得去)。而且,最重要一原创内容,盗版必究。【原创内容,转载请注明出处】点,它不依赖jquery了。它是一个独立【未经授权禁止转载】【关注微信公众号:wwwtangshuangnet】的组件,而且我发布到npm了。我这两年都原创内容,盗版必究。【转载请注明来源】在用webpack babel等构建工具转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。,所以依赖感比较强,写ES6也很随意,所【本文受版权保护】【未经授权禁止转载】以源码都是ES6写的,ES6归ES6,但【访问 www.tangshuang.net 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。是有些api要考虑IE9,所以还是没敢太本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net大胆用,比如还是在用for…【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.netin。但是,我已经习惯了直接import转载请注明出处:www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】, export这样的语法,所以,当我想【版权所有,侵权必究】著作权归作者所有,禁止商业用途转载。重新用HHuploadify的时候,发现【原创内容,转载请注明出处】本文版权归作者所有,未经授权不得转载。不好用,它只是一个jquery插件。这就转载请注明出处:www.tangshuang.net【关注微信公众号:wwwtangshuangnet】催生我重写一遍它。对于那些还在用或者准备转载请注明出处:www.tangshuang.net【原创内容,转载请注明出处】要用的同学们,我可能要很遗憾的说,你想要原创内容,盗版必究。著作权归作者所有,禁止商业用途转载。实现的都可以实现,但是你要写的代码可能更本文版权归作者所有,未经授权不得转载。【版权所有,侵权必究】多了。之所以这样,是因为我之前封装了几个【转载请注明来源】【作者:唐霜】函数,现在把它们去掉了,整个组件的核心都【版权所有】唐霜 www.tangshuang.net转载请注明出处:www.tangshuang.net在这里,只需要通过class exten原创内容,盗版必究。【版权所有】唐霜 www.tangshuang.netds或者钩子函数就可以非常好的进行扩展。

【关注微信公众号:wwwtangshua未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。ngnet】【关注微信公众号:wwwtangshua【转载请注明来源】转载请注明出处:www.tangshuang.netngnet】著作权归作者所有,禁止商业用途转载。

看看DEMO

所以,它现在变得很风骚,不信你可以先看看著作权归作者所有,禁止商业用途转载。转载请注明出处:www.tangshuang.net效果:

【作者:唐霜】未经授权,禁止复制转载。【版权所有,侵权必究】【访问 www.tangshuang.n【关注微信公众号:wwwtangshuangnet】【原创不易,请尊重版权】et 获取更多精彩内容】

最初级的配置,选择图片(多选)后点击上传【未经授权禁止转载】原创内容,盗版必究。按钮进行上传

转载请注明出处:www.tangshua【作者:唐霜】【本文受版权保护】ng.net【版权所有,侵权必究】转载请注明出处:www.tangshua转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。ng.net
【版权所有】唐霜 www.tangshu原创内容,盗版必究。转载请注明出处:www.tangshuang.netang.net【本文首发于唐霜的博客】【本文首发于唐霜的博客】未经授权,禁止复制转载。

添加一个auto的配置,选择图片(多选)本文作者:唐霜,转载请注明出处。【未经授权禁止转载】之后自动上传图片

本文作者:唐霜,转载请注明出处。【作者:唐霜】【版权所有】唐霜 www.tangshu著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。ang.net【原创内容,转载请注明出处】
著作权归作者所有,禁止商业用途转载。【访问 www.tangshuang.n【未经授权禁止转载】【关注微信公众号:wwwtangshuangnet】et 获取更多精彩内容】本文作者:唐霜,转载请注明出处。【本文首发于唐霜的博客】

默认情况下,点击选择图片按钮后,打开的选本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。择器可以一次性选择多张图片。如果是用户头【原创不易,请尊重版权】【转载请注明来源】像,那么只能选一张图片,只需要配置一个s著作权归作者所有,禁止商业用途转载。【原创不易,请尊重版权】ingle选项即可。配置之后,这个实例只【关注微信公众号:wwwtangshuangnet】【作者:唐霜】能上传一张图片。开始上传之后,选择按钮就转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net会消失。

【关注微信公众号:wwwtangshua【访问 www.tangshuang.net 获取更多精彩内容】【原创不易,请尊重版权】ngnet】本文版权归作者所有,未经授权不得转载。
转载请注明出处:www.tangshua著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshuangnet】ng.net本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。

上传成功之后,用server端返回的ur著作权归作者所有,禁止商业用途转载。本文作者:唐霜,转载请注明出处。l字段中的url作为新的预览图片。在一些【原创内容,转载请注明出处】原创内容,盗版必究。需要裁剪的情况下可能会用到,只需要把sh【访问 www.tangshuang.net 获取更多精彩内容】本文作者:唐霜,转载请注明出处。owPreview设置为2即可。

【关注微信公众号:wwwtangshua【本文受版权保护】【关注微信公众号:wwwtangshuangnet】ngnet】本文版权归作者所有,未经授权不得转载。【版权所有,侵权必究】
转载请注明出处:www.tangshua【访问 www.tangshuang.net 获取更多精彩内容】【本文受版权保护】ng.net【本文受版权保护】【作者:唐霜】【作者:唐霜】

通过showUploadProcess的著作权归作者所有,禁止商业用途转载。【访问 www.tangshuang.net 获取更多精彩内容】配置,采用不同的上传进度展示效果。

【版权所有】唐霜 www.tangshu未经授权,禁止复制转载。【版权所有,侵权必究】ang.net【未经授权禁止转载】
转载请注明出处:www.tangshua著作权归作者所有,禁止商业用途转载。【原创内容,转载请注明出处】ng.net【本文受版权保护】

假如你想默认就有几张图片,也是可以的,使【本文首发于唐霜的博客】【转载请注明来源】用reset方法即可。

未经授权,禁止复制转载。著作权归作者所有,禁止商业用途转载。【本文受版权保护】
著作权归作者所有,禁止商业用途转载。【本文受版权保护】【版权所有】唐霜 www.tangshu【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.netang.net

对HHuplodify进行扩展也超级简单【版权所有】唐霜 www.tangshuang.net【未经授权禁止转载】,上图演示的就是利用jquery.dra本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。gsort插件扩展HHuploadify【本文受版权保护】【本文受版权保护】,对上传之后的图片列表可以拖拽的效果。

转载请注明出处:www.tangshua【原创不易,请尊重版权】未经授权,禁止复制转载。ng.net【本文受版权保护】【版权所有】唐霜 www.tangshu著作权归作者所有,禁止商业用途转载。本文版权归作者所有,未经授权不得转载。ang.net转载请注明出处:www.tangshua【作者:唐霜】未经授权,禁止复制转载。ng.net
【关注微信公众号:wwwtangshua【本文受版权保护】未经授权,禁止复制转载。ngnet】本文作者:唐霜,转载请注明出处。

利用single选项,进行简单扩展之后,【作者:唐霜】【原创内容,转载请注明出处】就可以实现一组固定的上传。

【转载请注明来源】转载请注明出处:www.tangshua原创内容,盗版必究。本文作者:唐霜,转载请注明出处。ng.net著作权归作者所有,禁止商业用途转载。
【版权所有】唐霜 www.tangshu著作权归作者所有,禁止商业用途转载。著作权归作者所有,禁止商业用途转载。ang.net本文作者:唐霜,转载请注明出处。【作者:唐霜】

通过钩子函数,对上传的最大张数进行控制。转载请注明出处:www.tangshuang.net【转载请注明来源】上面图片演示中,最多只能上传4张图片。

本文版权归作者所有,未经授权不得转载。【本文首发于唐霜的博客】
【未经授权禁止转载】【本文首发于唐霜的博客】【本文受版权保护】

这些场景应该很多都会覆盖你的上传的情况吧【转载请注明来源】本文版权归作者所有,未经授权不得转载。。当然,你有特殊的需求,没关系,只需要e【本文首发于唐霜的博客】本文作者:唐霜,转载请注明出处。xtends class或者在钩子函数中【关注微信公众号:wwwtangshuangnet】本文作者:唐霜,转载请注明出处。写逻辑即可。可配性强的同事,接口还是完全【原创内容,转载请注明出处】【转载请注明来源】暴露可复写的。

著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。【访问 www.tangshuang.n【本文首发于唐霜的博客】著作权归作者所有,禁止商业用途转载。et 获取更多精彩内容】

安装和使用

你可以直接像以前一样在浏览器中直接引用,【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。但是你也可以像module一样impor【原创不易,请尊重版权】【作者:唐霜】t到你的项目中,我已经发布了npm包,所【本文受版权保护】转载请注明出处:www.tangshuang.net以你可以这样干:

转载请注明出处:www.tangshua未经授权,禁止复制转载。【版权所有,侵权必究】ng.net本文作者:唐霜,转载请注明出处。【原创不易,请尊重版权】【作者:唐霜】
npm i -S hhuploadify
import 'hhuploadify/dist/HHuploadify.css' // 在webpack中可以直接使用css了import HHuploadify from 'hhuploadify'

let uploader = new HHuploadify({

  container: '#upload',

  url: 'http://localhost/upload',})

然后,在那个#upload的容器中就会有【原创内容,转载请注明出处】著作权归作者所有,禁止商业用途转载。一个上传的UI效果出来。uploader著作权归作者所有,禁止商业用途转载。转载请注明出处:www.tangshuang.net就是这个实例了,它包含了所有的metho转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.netds,你可以用它干你想干的事。当然,你也未经授权,禁止复制转载。【原创不易,请尊重版权】可以在配置中传入钩子函数来干你想干的事。

【访问 www.tangshuang.n【版权所有】唐霜 www.tangshuang.net【未经授权禁止转载】et 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。【未经授权禁止转载】【转载请注明来源】

看下怎么扩展它:

未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。【原创内容,转载请注明出处】【未经授权禁止转载】
import HHuploadify from 'hhuploadify'

export default class extends HHuploadify {

  myMethod() { // 新方法

  

  console.log(this.files)

  }

  reset(files) { // 复写的方法

  

  super.reset(files)

  

  console.log(files)

  }}

这样你就扩展出一个新方法,复写了一个原型原创内容,盗版必究。【版权所有】唐霜 www.tangshuang.net链方法。是不是非常简单。

【版权所有】唐霜 www.tangshu【本文首发于唐霜的博客】未经授权,禁止复制转载。ang.net【转载请注明来源】原创内容,盗版必究。【未经授权禁止转载】

下载和仓库

如果你看了网上的一些资料,按照它们提供的著作权归作者所有,禁止商业用途转载。本文版权归作者所有,未经授权不得转载。方法来使用,可以下载1.0版本,如果你想给我提bug或者contrib【版权所有】唐霜 www.tangshuang.net【原创不易,请尊重版权】ute的话,在github仓库上玩弄吧。

未经授权,禁止复制转载。未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。
已有1条评论
  1. 这个好可以 2019-12-09 23:17

    这个好可以