如何显示jquery dropzone的错误消息

Cod*_*tal 16 dropzone.js

我使用带有CI的dropzone,我不知道如何在上传false时显示错误消息和自定义消息,这是我的脚本

Dropzone.autoDiscover = false;
        try {
            var myDropzone = new Dropzone("#adminform" , {
                paramName: "filename", // The name that will be used to transfer the file
                maxFilesize: 0.5, // MB
                url: window.location.href,
                addRemoveLinks : true,
                dictDefaultMessage :
                '<span class="bigger-150 bolder"><i class="ace-icon fa fa-caret-right red"></i> Drop files</span> to upload \
                <span class="smaller-80 grey">(or click)</span> <br /> \
                <i class="upload-icon ace-icon fa fa-cloud-upload blue fa-3x"></i>',
                dictResponseError: 'Error while uploading file!',

                //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>",
            });
        } 
        catch(e) {
            alert('Dropzone does not support older browsers!');
        }
Run Code Online (Sandbox Code Playgroud)

而PHP返回400:

$this->output->set_header("HTTP/1.0 400 Bad Request");
Run Code Online (Sandbox Code Playgroud)

但是当我悬停图像时它显示[object Object]但是消息是:

dictResponseError:'上传文件时出错!'

在此输入图像描述

Alw*_*ler 21

对于任何有需要的人:

您可以使用echo从服务器返回响应消息.然后在js代码中添加一个错误事件处理程序

PHP

header("HTTP/1.0 400 Bad Request");
echo "Ups error message";
Run Code Online (Sandbox Code Playgroud)

JS

this.on('error', function(file, response) {
    $(file.previewElement).find('.dz-error-message').text(response);
});
Run Code Online (Sandbox Code Playgroud)


Fab*_*rts 10

对我来说,这个代码最终起作用,用作dropzone选项:

error: function(file, message) {
      $(file.previewElement).addClass("dz-error").find('.dz-error-message').text(message.Message);
    }
Run Code Online (Sandbox Code Playgroud)

我使用了message.Message,因为ASP.net WebAPI返回一个JSON对象,但没有返回所需的"错误"键.


小智 9

您可以通过PHP文件简单地回显来自服务器的消息

if($file_uploaded == true)
{

   //perform operations on valid upload

} else {

  //upload failed, echo back negative response to dropzone.js
  $this->output->set_header("HTTP/1.0 400 Bad Request");
  echo "Error uploading file";

}
Run Code Online (Sandbox Code Playgroud)

虽然您的HTML文件可能如下所示:

<script type="text/javascript">
    Dropzone.options.myAwesomeDropzone = {
        paramName: "icon_image", // The name that will be used to transfer the file
        maxFilesize: 2, // MB
        init: function() {
            this.on("error", function(file, response) {
                // do stuff here.
                alert(response);

            });

        }
    };
</script>
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你 :)