Dropzone.js V.4 2.5.7
问题描述:
我与Dropbox的一个观点叫做index.ctp:Dropzone.js V.4 2.5.7
echo $this->Form->create('', array('url' => array('controller' => 'vouchers', 'action' => 'uploads'), 'novalidate' => true, 'role' => 'form', 'class' => 'dropzone', 'enctype' => 'multipart/form-data', 'id' => 'my-awesome-dropzone'));
echo '<div class="dropzone-previews"></div>';
echo $this->Form->input('Voucher.file', array('type' => 'file', 'label' => false, 'div' => 'fallback', 'class' => false, 'multiple' => true));
echo $this->Form->end();
在我的控制器 'VouchersController.php' 是上传功能ALS如下:
public function uploads() {
$this->Security->validatePost = false;
$this->Security->enabled = false;
$this->Security->csrfCheck = false;
$data = array(
'Voucher' => array(
'description' => 'xx'
)
);
$this->Voucher->save($data);
}
看来,dropzone.js工作正常。文件似乎已上传,并在预览中设置了复选标记。如果我从Form-> create中更改url,那么它在预览中出现错误。这告诉我,控制器的网址正在工作。
如果我直接在浏览器中调用“上传”操作,它正在工作 - >凭证表中的新条目存在(仅用于测试目的)。当操作到目前为止,我将执行文件保存。
但dropzone.js中的(ajax)调用不起作用。我的数据库没有任何反应。我认为上传操作未被调用,因为在将文件放入我的dropzone后没有数据库条目存在。
谢谢你在这种情况下的任何帮助。
如果缺少帮助信息,请留下您的回复。 Ivo
答
我自己发现了错误。我不得不添加以下行beforeFilter()
:
$this->Security->unlockedActions = array('action');
这将禁用SecurityComponent
为action
。