html:

<div class="field">
  <div id="file" class="dropzone">
    <div class="dz-message needsclick">
      <font><font>Drop files here or click to upload.</font></font><br>
      <span class="note needsclick">(Select the files you want to upload.)</span>
    </div>
  </div>
</div>

css:

.field{
  max-width:720px;
  margin: auto;
  margin-top:60px;
  font-size:20px;
  .dropzone{
    padding: 54px 54px;
    .dz-message{
      height:84px;
      font{
        line-height:28px;
      }
      span.note{
        height:28px;
        margin-top:28px;
        font-size:15px;
      }     }
  }
}

js:

Dropzone.autoDiscover = false;
var dropz = new Dropzone("#file", {
url: "uploadFile", //上传文件的接口
   parallelUploads:,//并行处理多少个文件上传
   uploadMultiple:true,//允许dropzone一次提交多个文件
   maxFiles: ,//最大可上传的文件个数
   maxFilesize: ,//MB
   acceptedFiles: ".csv", //可接受的文件类型
   success:function(file,data){
     // console.log(this.getAcceptedFiles().length);//获取上传的文件总数
     data=JSON.parse(data);
     if(data.code==''){
      //成功
     }else{
     }
   },
   dictMaxFilesExceeded:"文件数量过多",
   dictDefaultMessage:"Drop files here or click to upload.",
   dictFileTooBig:"可添加的最大文件大小为{{maxFilesize}}Mb,当前文件大小为{{filesize}}Mb ",
})

官网地址:http://www.dropzonejs.com/

dropzone需要注意的一点就是:

  打开文件的那一刻,就已经开始上传了。

这样的话,就会存在一个问题,一旦我们需要上传的是多个文件,而在我们选择文件的时候漏掉了文件,那么之前的文件已经上传,现在再次添加遗漏的文件,就会再次调用接口。

这样可能我们就需要一个手动上传,即:打开文件的时候,阻止自动上传,当全部的文件已经添加成功以后,再手动按上传按钮。

html:

<div class="field">
  <div id="file" class="dropzone">
    <div class="dz-message needsclick">
      <font><font>Drop files here or click to upload.</font></font><br>
      <span class="note needsclick">(Select the files you want to upload.)</span>
    </div>
  </div>
</div>
<button class="button" disabled="true">上传</button>

js:

Dropzone.autoDiscover = false;
var dropz = new Dropzone("#file", {
  url: "uploadFile",
  // addRemoveLinks: true,
  parallelUploads:,//并行处理多少个文件上传
  uploadMultiple:true,//允许dropzone一次提交多个文件
  maxFiles: ,//最大可上传的文件个数
  maxFilesize: ,//MB
  acceptedFiles: ".csv",
  autoProcessQueue: false,//阻止自动上传
  success:function(file,data){
    // console.log(this.getAcceptedFiles().length);//获取上传的文件总数
    console.log(JSON.parse(data));
    data=JSON.parse(data);
    if(data.code==''){
    }else{
    }
  },
  dictMaxFilesExceeded:"文件数量过多",
  dictDefaultMessage:"Drop files here or click to upload.",
  dictFileTooBig:"可添加的最大文件大小为{{maxFilesize}}Mb,当前文件大小为{{filesize}}Mb ", }).on('addedfile',function(file){
    $( '.button' ).removeAttr('disabled');
    $( '.button' ).bind( 'click', uploadHandle );
});
uploadHandle = function() {
  dropz.processQueue();//开启文件上传
  $( '.button' ).unbind( 'click', uploadHandle );
};

dropzone手动上传的更多相关文章

  1. element ui实现手动上传文件,且只能上传单个文件,并能覆盖上传。

    element ui提供了成熟的组件场景,但实际工作中难免会遇到认(sha)真(diao)的产品.比如,最近遇到的,要求实现手动上传特定格式文件(用户点击“上传文件”按钮,确定之后,只是单纯选择了文件 ...

  2. layui框架实现多图片手动上传和随表单提交方法

    首先在官方文档并没有手动上传的说明文档,这里手动实现上传原理是:在表单中有三个按钮,分别是上传图片按钮.隐藏上传按钮.表单提交按钮,点击上传图片按钮之后,图片添加在前端但是并没有真正的上传,而是在点击 ...

  3. django + dropzone.js 上传文件

    1.dropzone.js http://www.dropzonejs.com/ dropzone.js是一个可预览\可定制化的文件拖拽上传,实现AJAX异步上传文件的工具 2.dropzone.js ...

  4. DropZone图片上传控件的使用

    前台代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w ...

  5. 网站日志流量分析采集(LuaJIT系统环境部署-node03,相关jar包自己手动上传)

    注:/usr/local/src 是源码包路径,可以自己更改 服务器中安装依赖 yum -y install gcc perl pcre-devel openssl openssl-devel 上传 ...

  6. [转] 手动上传jar包到远程仓库 (maven deploy)

    [From] https://my.oschina.net/360yg/blog/1588899 前言:通常允许上传的远程仓库有两种:Snapshots和Releases,分别为快照版仓库和稳定版仓库 ...

  7. maven:手动上传jar私服

    转:https://www.jianshu.com/p/b8ec688c388e 打包时提示私服中找不到以下jar包 在私服中搜索确实找不到,后来知道这些是老系统的jar包没有deploy到私服 经分 ...

  8. mvn手动上传jar到本地仓库

    mvn install:install-file -Dfile=G:\elastic-project\workspace\out\artifacts\xxl_job_core_jar\xxl-job- ...

  9. ASP.NET MVC中使用Dropzone.js实现图片的批量拖拽上传

    说在前面 最近在做一个MVC相册的网站(这里),需要批量上传照片功能,所以就在网上搜相关的插件,偶然机会发现Dropzone.js,试用了一下完全符合我的要求,而且样式挺满意的,于是就在我的项目中使用 ...

随机推荐

  1. Android studio导入svn工程

    Quick Start——> Check outproject from Version——> Subversion——> ‘+’加号 ——> 输入网址 ——> 注意选择 ...

  2. 关于stickybroadcast

    stickybroadcast顾名思义,粘性广播,从字面上我们可以联想到service的返回值中也有个一stick,在service中stick作用是当返回了之后服务被杀死,会重启服务. 但是这里的s ...

  3. php判断终端是手机还是电脑访问网站代码

    ?php function check_wap() { if (isset($_SERVER['HTTP_VIA'])) return true; if (isset($_SERVER['HTTP_X ...

  4. SQL查询语句 [2]

    一.快捷查询 快捷查询方式是一种多字段查询的简化写法,在多个字段之间用'|'隔开表示OR,用'&'隔开表示 AND. 1.不同字段相同查询条件 在  Home/controller/UserC ...

  5. JavaPersistenceWithHibernate第二版笔记-第七章-004Mapping a map(@MapKeyEnumerated 、 @MapKeyTemporal、@MapKeyColumn)

    一.结构 二.代码 1. package org.jpwh.model.collections.mapofstrings; import org.jpwh.model.Constants; impor ...

  6. Java-数据结构与算法-选择排序与冒泡排序

    Java 选择排序与冒泡排序 1.DataSorter.java public class DataSorter { //冒泡排序法 //主要思路:按升序排序,数组元素两两比较,大的立即排后面 pub ...

  7. ssh远程执行命令使用明文密码

    经过不懈的搜索终于找到ssh远程执行命令使用明文密码使用sshpass. 例子: sshpass -p "sequoiadb" ssh root@localhost "l ...

  8. java获取Excel的导出

    import java.io.*; import org.apache.commons.io.FileUtils; import org.apache.poi.hssf.usermodel.HSSFC ...

  9. PLSQL连接Oracle11g 64位

    目前plsql只有32位的,而Oracle11则是64位的,想要连接需要下载这个: 打开plsql,在Tools-->Prefences里面设置,如下图: 设置Oracle的主目录:下载文件解压 ...

  10. loj #2037. 「SHOI2015」脑洞治疗仪

    #2037. 「SHOI2015」脑洞治疗仪   题目描述 曾经发明了自动刷题机的发明家 SHTSC 又公开了他的新发明:脑洞治疗仪——一种可以治疗他因为发明而日益增大的脑洞的神秘装置. 为了简单起见 ...