olicek / dropzone-uploader
Nette 框架的 Uploader
dev-master
2016-09-16 09:20 UTC
Requires
- php: >= 5.4.0
- nette/nette: >2.1.0
This package is not auto-updated.
Last update: 2024-09-28 18:42:17 UTC
README
安装
composer require olicek/dropzone-uploader:dev-master
在扩展中注册
extensions:
dropzone: Oli\Form\DropzoneUploaderExtension
最后,将 client-site/dropzoneUploader.js
链接到页面。
使用
public function createComponentUploader($name, DropzoneUploaderFactory $factory)
{
$dropzone = $factory->create();
$path = $dropzone->getPath();
$dropzone->onSuccess[] = function (DropzoneUploader $dropzoneUploader, $targetPath, $name, $suffix) {
$photo = new Photo;
$photo->filename = $name . '.' . $suffix;
$photo->suffix = $suffix;
$this->photosRepository->save($photo);
};
return $dropzone->setPath($path . '/' . $this->galleryEntity->folder . '/1600x1200');
}
在模板中
{control uploader}
理论上应该就这些。我尽量让 client-site/dropzoneUploader.js
文件尽可能通用,以便可以在不修改它的情况下使用。其实它根本可以不用,关键是 .dropzone
类,当然,它也可以改变 :-)
上传后
上传成功后,将自动跳转到预设的信号 handleRefresh
。在 settings
部分可以选择是否使用 ajax,以及跳转到的地址。目前只能选择信号或 this
,如果需要,我还会添加跳转到某个展示者的功能。
示例
dropzone:
path: 'gallery/photos'
settings:
ajax: on
dropzone:
path: 'gallery/photos'
settings:
onSuccess: 'this'