- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Dropzonejs,我想做的事情本质上很简单。但我找不到任何关于它的文章。
因此,在发送文件时,我们会在讨厌的 .exe 和 .php 文件上触发错误。 dropzonejs 界面显示 X 和错误消息。所以这是正确的。问题是它仍然会被扔进 on success 事件,并被上传。
uploader.on("sending", function (file, xhr, data) {
var aDeny = [ // deny file some extensions by default
'application/x-msdownload',
'text/php'
];
if($.inArray(file.type, aDeny) !== -1) {
this.defaultOptions.error(file, 'File not allowed: ' + file.name);
return false;
}
});
Evil.exe 仍然出现在这个成功事件中并被上传。响应只有文件路径的字符串,file.status为成功。
uploader.on('success', function (file, response) {
getData({'dostuff'});
return file.previewElement.classList.add("dz-success");
});
那么在我的“发送”事件中,如何防止文件出现在成功事件中?
更新:
谢谢!这就是我最终需要的:
var aDeny = [ // deny file some extensions by default
'application/x-msdownload',
'text/php'
];
Dropzone.options.uploadWidget = {
// more config...
accept: function (file, done) {
if ($.inArray(file.type, aDeny) !== -1) {
done("This file is not accepted!");
}
else {
done();
}
}
}
最佳答案
我会首先始终在服务器端检查文件类型以防止出现任何问题。
然后要使用 Dropzone 过滤文件类型,您可以使用:
The default implementation of accept checks the file's mime type or extension against this list. This is a comma separated list of mime types or file extensions.
Eg.: image/*,application/pdf,.psd
If the Dropzone is clickable this option will also be used as accept parameter on the hidden file input as well.
示例:
var myDropzone = new Dropzone("div#myId", {
url: "/file/post",
acceptedFiles: 'application/x-msdownload,text/php'
});
A function that gets a file and a done function as parameters.
If the done function is invoked without arguments, the file is "accepted" and will be processed. If you pass an error message, the file is rejected, and the error message will be displayed. This function will not be called if the file is too big or doesn't match the mime types.
示例:
Dropzone.options.myAwesomeDropzone = {
paramName: "file", // The name that will be used to transfer the file
maxFilesize: 2, // MB
accept: function(file, done) {
if (file.name == "justinbieber.jpg") {
done("This file is not accepted!");
}
else { done(); }
}
};
关于javascript - Dropzonejs触发错误并取消上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45438626/
我正在构建一个 AngularJs 应用程序,我正在使用 DropzoneJs 的 dropzone。我需要使用成功和错误回调,因为我必须访问服务器响应。我遇到一个问题,如果我使用回调,preview
我正在对 dropzonejs 图像 uploader 进行一些修改。我希望最多允许上传 12 张图片。我看到了 maxFiles 的配置,但将其设置为 12 后,它仍然允许添加文件并生成缩略图预览。
我在显示缩略图上的“删除”按钮时遇到问题。 var myDropzone = new Dropzone("#my-awesome-dropzone"); myDropzone.opti
我正在使用dropzonejs用于简单的文件上传。不过,我目前遇到了一些问题。 我不知道如何限制上传的文件类型。我的 PHP 后端有文件验证,但文件似乎已上传(它们有一个复选标记),即使它们没有通过这
我已设置 dropzone 并使用我的 AWS S3 帐户。不过,我希望能够在将文件发送到 S3 之前对其进行重命名(例如附加时间戳),以便与现有文件同名上传的文件不会被覆盖。我尝试在发送事件中捕获此
我正在使用 dropzonejs 上传和删除服务器上的多个图像。上传多张图片工作正常但一次删除一张图片给我带来了问题。单击删除链接时,所有与图像关联的 ajax 函数都会同时触发,这会导致删除所有文件
我尝试通过 dropzone 搜索让我的上传功能与我自己的自定义表单一起使用。不幸的是,stackoverflow 和其他方面的其他线程对我帮助不大。所以也许任何人都可以了解真正的基础知识并帮助我理解
我正在使用 Dropzonejs 来处理文件上传。我有一个很大的表格,文件只是其中的一部分。我已将 dropzone 附加到表单内的 div,但文件附加到正文的末尾。有没有办法将文件放入表单中,以便它
有没有什么办法可以不使用Form而使用Dropzone js。我想像下面这样使用。但是这样就不会显示图像预览。 最佳答案 在 docs
我正在使用 Dropzonejs 上传文件以在我的模块中使用。它的工作方式是编辑项目,将文件拖到放置区,放置区隐藏,然后您会看到图像的预览。该预览是自制的,并且有一个删除按钮来删除图像并取消数据库中的
我正在制作一个上传脚本,但我坚持从“addfile”事件的“file”获取dataURL,这是我的代码: $(function() { var dropzone = new Dropzone(
问题 我正在使用 dropzone 处理多个图像上传。我希望它生成 280x280px 的缩略图。尽管我尽了最大的努力,它还是会不断生成 100x100 像素的缩略图。 代码 这是我的代码: D
我正在使用 dropzonejs 删除文件,然后上传到服务器。我想实现当视频文件被删除时,它应该能够使用html5视频播放。这是我尝试过的地方, this.on("addedfile"
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 5 年前。 Improve this ques
我在我的网站上使用 dropzone js,我想访问插件使用的拖放照片源。这就是我的意思:在 added file 事件监听器中,我可以轻松访问已删除文件的名称,例如 dropzoneForm.on(
我试图使用选项 maxFiles: 1; 将用户可以选择的文件数量限制为一个;然而,这也阻止用户上传第二个、第三个等文件,这正是我想要的。我希望只选择一个文件并允许后续上传。这可能吗? 这是我的代码:
我使用插件dropzonejs.com 。现在我在html文档中编写这段代码 link('task', 'upload'); ?>" id="pinupload" class="dropzone" s
我在表单中使用 dropzoneJS。除了图像之外,表单还记录用户输入。一切正常。用户输入将进入我的数据库,图像将上传到定义的目录中。现在我想将拖放图像字段设置为可选字段,用户可以选择上传图像或将其留
我正在使用 dropzone js 将文件上传到服务器。我的服务器位于 Tornado 中,但 dropzonejs 在 header 中发送了一个选项请求,尽管我将其设置为执行方法 Post。 问题
我有一个上传视频的表格,视频的持续时间/长度很重要。 在我用 PHP 上传文件后,我用 FFMpeg 检查视频文件大小的持续时间。 我用 PHP 计算持续时间,需要通过 PHP 以某种方式发送持续时间
我是一名优秀的程序员,十分优秀!