<form method="post" enctype="multipart/form-data" action="import">//注意这里的action和下面的url要一直,如果不写的话就算浏览器上传成功了也会报404的错误
<div >
<input name="file" type="file" />
</div>
</form>
<script type="text/javascript">
try {
$(".dropzone").dropzone({
url:'import?ti='+new Date(),//上传地址
paramName: "file",
maxFilesize: 2.0, // MB
maxFiles:1,//一次性上传的文件数量上限
acceptedFiles: ".xls",
addRemoveLinks : true,//添加移除文件
autoProcessQueue: false,//不自动上传
dictCancelUploadConfirmation:'你确定要取消上传吗?',
dictMaxFilesExceeded: "您一次最多只能上传{{maxFiles}}个文件",
dictFileTooBig:"文件过大({{filesize}}MB). 上传文件最大支持: {{maxFilesize}}MB.",
dictDefaultMessage :
'<span ><i ></i> 拖动文件至该处</span> \
<span >(或点击此处)</span> <br /> \
<i ></i>',
dictResponseError: '文件上传失败!',
dictInvalidFileType: "你不能上传该类型文件,文件类型只能是*.xls。",
dictCancelUpload: "取消上传",
dictCancelUploadConfirmation: "你确定要取消上传吗?",
dictRemoveFile: "移除文件",
uploadMultiple:false,
//change the previewTemplate to use Bootstrap progress bars
previewTemplate: "<div class=\"dz-preview dz-file-preview\">\n <div class=\"dz-details\">\n <div class=\"dz-filename\"><span data-dz- name></span></div>\n <div class=\"dz-size\" data-dz-size></div>\n <img data-dz-thumbnail />\n </div>\n <div class=\"progress progress-small progress-striped active\"><div class=\"progress-bar progress-bar-success\" data-dz-uploadprogress></div></div>\n <div class=\"dz-success-mark\"><span></span></div>\n <div class=\"dz-error-mark\"><span></span></div>\n <div class=\"dz-error-message \"><span data-dz-errormessage></span></div>\n</div>",
init: function() {
var submitButton = document.querySelector("#sureSubmit");
myDropzone = this; // closure
//为上传按钮添加点击事件
submitButton.addEventListener("click", function () {
$('#subModel').modal('hide');
//手动上传
myDropzone.processQueue();
});
//添加了文件的事件
this.on("addedfile", function () {
$('#subModel').modal().css({
'margin-top': function () {
return (document.body.scrollHeight/ 2.5);
}
});
$('#subModel').modal('show');
});
this.on("success", function(file,data) {
if(data=="upErr"){
alertMsg("上传失败!");
}else{
alertMsg(data);
}
});
this.on("error", function(file) {
alert("文件上传失败!");
});
},
});
} catch(e) {
alert('浏览版本过低,不支持文件上传!');
}
});
<script type="text/javascript">
以下是网上收的关于dropzone的一些相关数据:
功能选项
-
url
:最重要的参数,指明了文件提交到哪个页面。 -
method
:默认为post
,如果需要,可以改为put
。 -
paramName
:相当于元素的
name
属性,默认为file
。 -
maxFilesize
:最大文件大小,单位是 MB。 -
maxFiles
:默认为null
,可以指定为一个数值,限制最多文件数量。 -
addRemoveLinks
:默认false
。如果设为true
,则会给文件添加一个删除链接。 -
acceptedFiles
:指明允许上传的文件类型,格式是逗号分隔的 MIME type 或者扩展名。例如:image/*,application/pdf,.psd,.obj
-
uploadMultiple
:指明是否允许 Dropzone 一次提交多个文件。默认为false
。如果设为true
,则相当于 HTML 表单添加multiple
属性。 -
headers
:如果设定,则会作为额外的 header 信息发送到服务器。例如:{"custom-header": "value"}
-
init
:一个函数,在 Dropzone 初始化的时候调用,可以用来添加自己的事件监听器。 -
forceFallback
:Fallback 是一种机制,当浏览器不支持此插件时,提供一个备选方案。默认为false
。如果设为true
,则强制 fallback。 -
fallback
:一个函数,如果浏览器不支持此插件则调用。
翻译选项
-
dictDefaultMessage
:没有任何文件被添加的时候的提示文本。 -
dictFallbackMessage:Fallback
情况下的提示文本。 -
dictInvalidInputType
:文件类型被拒绝时的提示文本。 -
dictFileTooBig
:文件大小过大时的提示文本。 -
dictCancelUpload
:取消上传链接的文本。 -
dictCancelUploadConfirmation
:取消上传确认信息的文本。 -
dictRemoveFile
:移除文件链接的文本。 -
dictMaxFilesExceeded
:超过最大文件数量的提示文本。
常用事件
以下事件接收 file 为第一个参数
-
addedfile
:添加了一个文件时发生。 -
removedfile
:一个文件被移除时发生。你可以监听这个事件并手动从服务器删除这个文件。 -
uploadprogress
:上传时按一定间隔发生这个事件。第二个参数为一个整数,表示进度,从 0 到 100。第三个参数是一个整数,表示发送到服务器的字节数。当一个上传结束时,Dropzone 保证会把进度设为 100。注意:这个函数可能被以同一个进度调用多次。 -
success
:文件成功上传之后发生,第二个参数为服务器响应。 -
complete
:当文件上传成功或失败之后发生。 -
canceled
:当文件在上传时被取消的时候发生。 -
maxfilesreached
:当文件数量达到最大时发生。 -
maxfilesexceeded
:当文件数量超过限制时发生。
以下事件接收一个 file list 作为第一个参数(仅当uploadMultiple
被设为true
时才会发生)
successmultiple
completemultiple
cancelmultiple
特殊事件
-
totaluploadprogress
:第一个参数为总上传进度,第二个参数为总字节数,第三个参数为总上传字节数。
相关推荐
添加必要的导入并使用DropZone()包装任何小部件以将其用作放置区: import 'package:drop_zone/drop_zone.dart' ; import 'dart:html' as html; DropZone ( onDragEnter : () { print ( 'drag enter' ); }, ...
在这个实例中,我们主要涉及了`Dropzone`的使用方法、文件上传的前端处理以及如何结合其他前端组件(如`layer`)提升用户体验。通过学习这个实例,开发者可以更好地理解和应用这些技术,以解决实际项目中的文件上传...
在本主题“MVC使用Dropzone.js上传”中,我们将重点讨论如何在基于MVC架构的Web应用中集成Dropzone.js,这是一个强大的、开源的文件上传库,支持拖放功能和批量上传。Dropzone.js以其简单易用和高度自定义的特点,...
3. **使用方法**: - 参考链接`http://www.cnblogs.com/YLQBL/p/8258822.html`,这是一个教程,详细解释了如何在项目中集成DropZone,包括设置基本配置、自定义样式和事件监听等。 4. **基本配置**: - `url`: ...
有两种方式可以实现绑定,一种是使用纯JavaScript的Dropzone构造函数,另一种是使用jQuery的.dropzone()方法。在这两种方式中,都需要指定一个url参数,用于指明文件上传的服务器端地址。 ```html ...
在本文中,我们将深入探讨如何使用Spring MVC与Dropzone.js实现一个图片上传功能。Spring MVC是Spring框架的一部分,专门用于构建Web应用程序,而Dropzone.js则是一个轻量级的JavaScript库,提供了简单易用的拖放...
这个方法需要使用`MultipartFile`对象来处理上传的文件。以下是一个简单的示例: ```java import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; ...
在描述中提到,“我的博客有对dropzone.js使用的详细介绍”,这表明你可以在该博主的博客中找到关于如何使用dropzone.js的详细教程,包括安装、配置、自定义样式以及常见问题的解决方法。博主可能分享了如何集成此库...
在ASP.NET开发中,我们经常会遇到需要处理用户上传文件的需求,比如本例中提到的使用Dropzone组件上传CSV文件,并通过Aspose.Cells进行解析。这个过程涵盖了前端交互、文件上传和后端处理等多个环节,接下来将详细...
**Dropzone JS 使用指南——实现文件拖拽上传** Dropzone JS 是一个开源的 JavaScript 库,专门用于简化文件上传操作,特别是支持HTML5中的文件拖放功能。它为用户提供了直观、美观的文件上传界面,使得文件上传变...
首先,让我们来了解DropzoneJS的基本使用方法。创建一个Dropzone区域非常简单,只需要在HTML中指定一个元素作为拖放区域,并通过JavaScript设置相应的配置选项。例如: ```html <div id="myDropzone" class="...
->我将创建此模型bcz以了解如何使用ajax方法上传图像(文件)... post123模型 ->如果您使用dropzone.js并使用包含(用户帖子)的(dropzone)输入实现多个文件上传,并且您还有其他(wihout dropzone)输入字段包含...
在后台,我们需要在控制器(如HomeController)中创建一个处理文件上传的方法: ```csharp [HttpPost] public ActionResult Upload(HttpPostedFileBase file) { if (file != null && file.ContentLength > 0) { ...
使用Artisan命令: ```bash php artisan make:controller UploadController ``` 在`app/Http/Controllers/UploadController.php`文件中,添加以下方法: ```php use Illuminate\Http\Request; use Illuminate\...
安装完成后,在Vue组件中引入Vue Dropzone,并配置相应的属性和方法,即可实现文件上传功能。例如: ```javascript <v-dropzone :url="uploadUrl" @vdropzone-success="fileUploaded"></v-dropzone> import { ...
在本文中,我们将深入探讨dropzone.js的核心特点和使用方法。 首先,dropzone.js的核心特性在于其直观的用户界面和拖放功能。用户只需将文件拖放到指定区域,即可开始上传过程,极大地提升了用户体验。这种交互方式...
在`uploadFiles`方法中,使用`AWS.S3`实例生成预签名URL: ```javascript async uploadFiles() { const s3 = new AWS.S3(); const params = { Bucket: 'YOUR_BUCKET_NAME', Key: this.$refs.dropzone....
在本文中,我们将深入探讨如何在Laravel框架中使用laraveldropzone进行多文件上传。Laravel 5.6是这个项目的版本基础,它是一个功能丰富的PHP框架,以其优雅的语法和强大的功能深受开发者喜爱。laraveldropzone则是...
Dropzone.jsCraft.io插件...好的,这就是将其工作的方法,只需将其放在模板中即可(无需嵌套在表单中,也不必担心操作网址,这一切都已得到解决) {{ craft . dropzone . form ({ sourceId : 2 }) | raw }} 注意|raw
在这个示例中,前端使用了 dropzone.js 库,这是一个轻量级的 JavaScript 库,提供了拖放上传文件的功能。以下是关于使用 dropzone.js 和 Java 实现拖拽文件上传的详细说明: 1. **dropzone.js 库的引入**: 在 ...