文件上传插件
本章节主要是介绍,ShopWind系统现有的文件上传插件说明,以及编写一个文件上传插件的实施要点和注意事项。本章节的内容建立在您已经熟悉《插件规范》的基础之上。如不熟悉,请先阅读上一章节内容。
一、插件路径
文件上传插件位于@shopwind/common/plugins/uploader目录下,该目录下的每一个文件夹代表一个具体的插件实例。

webuploader/ 代表 百度文件上传插件

二、编写要点
所有文件上传插件,我们都应该实现以下几个主要方法:创建编辑器。 这些方法我们编写到插件主程序@shopwind/common/plugins/uploader/插件名/插件名.plugin.php文件中:
// 创建上传插件组件,入参 $params 为上传插件配置
public function create($params = array()) {}
文件上传插件调用代码如下:
$uploader = Plugin::getInstance('uploader')->build('webuploader');
## $uploader = Plugin::getInstance('uploader')->autoBuild(true);

// 创建一个文件上传组件
$html = $uploader->create([
    'obj' 		=> 'GOODS_SWFU',
    'belong' 		=> Def::BELONG_GOODS,
    'item_id'		=> 0,
    'upload_url' 	=> Url::toRoute(['upload/add', 'instance' => 'goods_image'])
]);
在视图中,我们使用下面的代码,就能在页面输出一个文件上传插件:
<html> <body> {$html} <button class="GOODS_SWFU_filePicker"></button> </body> </html>
注意:文件上传组件实现的是前端的上传效果,包括上传文件验证、文件大小验证,并向后端提交上传文件信息,并不能把图片实际上传到服务器,后端部分由upload_url参数指定的上传地址处理。
通过本节的学习,大家应该能掌握了文件上传插件的编写要点,如果对此还有疑问,可以进入我们官方的 开发者社区反馈,我们会有官方技术人员在线解答。