doulang6013 2016-01-28 07:32
浏览 40

dropzonejs无法自动提交

Environment:php+dropzone.js+CI(codeigniter)

Server can not execute uploading.But browser console can output info.

<div class="panel-body">  
<div class="form-group">
    <label class="control-label">File Upload</label>
    <div class="controls">
            <form action="Upload/do_upfile" class="dropzone" id="myDropzone">
                <div class="fallback">
                <input name="userfile" type="file" multiple="" />
                </div>
            </form>
    </div>
</div>          

script:

Dropzone.autoDiscover = false;
var myDropzone = new Dropzone("#myDropzone", {
    url: "Upload/do_upfile",
    method: 'post',
    addRemoveLinks: true,
    uploadMultiple: true,
    init: function() {
        this.on("addedfile", function(file) {
            console.log("File " + file.name + "add");
        });
        this.on("success", function(file) {
            console.log("File " + file.name + "uploaded");
        });
        this.on("removedfile", function(file) {
            console.log("File " + file.name + "removed");
        });
    }

});

php ci controllers

public function do_upfile()
{
    $config['upload_path']      = './uploads/';
    $config['allowed_types']    = 'gif|jpg|png|css';
    //$config['max_size']     = 100000;
    //$config['max_width']        = 1024;
    //$config['max_height']       = 768;

    $this->load->library('upload', $config);

    if ( ! $this->upload->do_upload('userfile'))
    {
        $error = array('error' => $this->upload->display_errors());

        $this->load->view('upload_form', $error);
    }
    else
    {
        $data = array('upload_data' => $this->upload->data());

        $this->load->view('upload_success', $data);
    }


}

Browsers, upload is normal, the console input also has content, but not execute on the server, ths!

  • 写回答

1条回答 默认 最新

  • douzhengzuo7283 2016-01-28 14:02
    关注

    You have to return (json_encoded) string. In your controller:

    if ( ! $this->upload->do_upload('userfile'))
    {
        $error = array('error' => $this->upload->display_errors());
    
        echo json_encoded($error);
    }
    else
    {
        $data = array('upload_data' => $this->upload->data());
    
        echo json_encoded($data);
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向