Dropzone做上传文件编辑功能

Dropzone做编辑功能

这篇文章主要用来介绍 用Dropzone做上传文件的编辑功能。
“批量上传”基本是一个涉及到文档、图片之类的项目的必有功能了,现在很多插件都能轻松的去实现。我呢用的就是这一Dropzone

Dropzone的基本用法网上一搜一大堆,这里就不哔哩哔哩了:-)

但是对于系统来说,基本都是有添加就有编辑,文档上传也不可避免。
下面进入正文:如何用Dropzone做 编辑 功能
编辑功能说白了就是将已上传的文件填充到Dropzone区域中以Dropzone基本元素的形式显示出来,如图:
Dropzone基本元素展示
下面上代码

var myDropzone = Dropzone.forElement('#myDropzone');//获取Dropzone元素节点
var mockFile = { //初始化需要填充的元素
                size: 12345,//元素大小
                name: images[x],//元素名称
                type: '.jpg,.png,.bmp,.jpeg'//元素类型
            };
            myDropzone.addFile(mockFile);//添加mock元素到显示区域
            myDropzone.options.thumbnail(mockFile, imgPath + images[x]);//给mock元素添加数据源
            myDropzone.options.success(mockFile);//给mock元素绘制上传成功标识

至此,从服务器端获取的已上传的文件元素就展示在了Dropzone区域中
如图:
编辑展示元素
(图挂了~~但是不要在意这些细节!- !)

还没完

虽然图片填充到了Dropzone区域中,但你真的在向服务器提交数据的时候会发现一个有趣的事情!

myDropzone.getAcceptedFiles().length  长度判断时,其length等于当前Dropzone区域所存在
元素的个数(不管你是否新增了元素或者删除了元素)

但是

 1. 你在编辑时没有新增新的上传文件(编辑时没有操作Dropzone区域或者只是删除了画布上的元素)
 
 你在上传文件时会发现一个文件都没有上传到服务器,虽然Dropzone区域中存在可见的几个元素
 
 2.你在编辑时新增了新的上传文件(编辑时不管是否删除了Dropzone画布上的元素)
 
 你在上传文件时会发现Dropzone只为你上传了那个你新增加的文件,而其数量却等于Dropzone区域中
 		可见的元素总数(已有+新增)

SO
我的做法是
你需要在this.on("removedfile", function (file) {//删除Dropzone画布中的元素}中执行删除服务器文件的操作,这样:在你删除了Dropzone区域中元素时,服务器的文件也会变更,而且你新增文件时新增的记录也会添加到服务器中,从而达到编辑作用

(MD,说的都是啥啥啥麽,啥都看不懂)
哈哈哈哈,看不懂就对了,我也不知道我在写啥,告辞!!!

删除服务器文件代码一搜一大堆,这里就不哔哩哔哩了:-)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值