如何替换以前选择的文件?

How to replace a previously selected file?

我通过 ngx-dropzone-wrapper Angular 使用 Dropzone。

我没有使用直接从 Dropzone 上传,我只是让它收集文件,然后在我的代码中处理它们。

我需要将文件数限制为 1。所以我设置了 config.maxFiles = 1。事实上,现在文件打开对话框只允许 select 单个文件。但问题是 Dropzone 不会替换以前的文件!相反,它将新文件添加到其带有 accepted=false(很可能是因为已达到 maxFiles)标志的文件集合中。那不是我所期望的。我需要 config.maxFiles = 1 删除旧文件并添加新文件并接受它。

所以,我应该打电话给 removeAllFiles(true) 来支持我的要求。但是我找不到任何在用户选择文件之后和 Dropzone 尝试处理它之前触发的事件处理程序。

那么,我该如何实现以下要求:

?

您需要告诉 dropzone 放弃第一张图片。您需要在 dropzone 选项中设置 maxfilesexceeded 的功能。

 maxfilesexceeded: function (files) {
        this.removeAllFiles();
        this.addFile(files);
 },

它在内部工作,如果你的最大文件是一个,而你正在添加第二个,第一个将被丢弃,因为它超过了它的限制