上传组件

Laytp 上传组件上传的文件都会进入后台的附件管理列表

渲染方式

  1. <html>
  2. <body>
  3. <div class="laytpUpload"//class="laytpUpload"是上传组件渲染的标识
  4. data-name="name"//必设,提交表单时的name
  5. data-type="local"//非必设,上传方式,目前允许使用的上传方式有
  6. - local=本地上传;
  7. - ali-oss=阿里云OSS上传; 需要安装阿里云OSS上传插件
  8. - qiniu-kodo=七牛云KODO上传; 需要安装七牛云KODO上传插件
  9. data-viaServer="via/unVia"// 非必设,是否经过服务器端,默认via,经过服务器,此参数的有效性与data-type的值相关
  10. - 当data-type=local时,此参数无效
  11. - 当data-type=ali-oss时,且此参数为via时,是由客户端先把文件上传到服务器上,然后再由服务器上传到阿里云OSS
  12. - 当data-type=ali-oss时,且此参数为unVia时,是由客户端先请求服务器端得到阿里云的STS临时上传凭证,然后由客户端把文件直接上传到阿里云oss
  13. - 当data-type=qiniu-kodo时,情况与data-type=ali-oss时相似
  14. data-showUploadBtn="true"//非必设,是否显示上传按钮,默认true
  15. data-showChoiceBtn="true"//非必设,是否显示选择附件按钮,默认true
  16. data-fileCategoryId="integer"//非必设,所属分类的ID,默认0
  17. data-accept="image"//非必设,允许上传的类型
  18. data-width="500"//非必设,accept="image"时,允许上传图片的最大宽度,单位px,默认不限制
  19. data-height="300"//非必设,accept="image"时,允许上传图片的最大高度,单位px,默认不限制
  20. data-multi="true"//非必设,多文件模式,true=开启多文件模式,false=关闭多文件模式,默认false
  21. data-max="2"//非必设,多文件模式下有效的参数,设置允许最多上传的文件个数,默认不限制个数
  22. data-dir=""//非必设,上传的目录,允许不传,不传就传到storage目录下,如果不为空,则在storage目录下创建对应的目录,允许使用/指明多级目录
  23. data-uploaded=""//非必设,已经上传的文件路径,多个以英文半角的逗号+空格进行分割,用于编辑页面展示已经上传的文件
  24. data-uploadedId=""//非必设,已经上传的文件列表的ID值,多个以英文半角的逗号进行分割,用于编辑页面展示已经上传的文件Id
  25. data-uploadedFilename=""//非必设,已经上传的文件列表的数据库存储的文件名,多个以英文半角逗号+空格进行分割,用于编辑页面展示已经上传的文件名,目前仅上传文件时需要展示
  26. data-uploadedCallback="callbackFun"//非必设,传入字符串,上传成功后的回调函数名称
  27. - 比如定义的值为callbackFun,然后在全局定义如下函数即可执行回调
  28. function callbackFun(file){
  29. console.log(file);//得到file的信息
  30. //这里写上传成功后的回调操作
  31. return facade.success('上传成功');//如果你设置了回调函数,那么上传成功的提示要自己调用函数进行返回
  32. }
  33. data-mime="*"//非必设,允许上传的文件后缀名,为空使用后台常规管理->系统配置->上传配置设置mime的值
  34. data-size="100mb"//非必设,允许上传的文件大小,单位b,B,k,K,kb,KB,m,M,mb,MB,g,G,gb,GB,为空使用后台常规管理->系统配置->上传配置设置size的值
  35. data-layVerify="required"//非必设,与layui的lay-verify相同
  36. data-layVerType="tips"//非必设,与layui的lay-verType相同
  37. </div>
  38. <script>
  39. layui.use(['laytp'], function(){
  40. // 这里写表单渲染后的js
  41. });
  42. </script>
  43. </body>
  44. </html>

data-uploaded data-uploadedId data-uploadedFilename三个参数的值无需自行拼接,单个文件仅需后端使用with关联查询File表,多个使用UploadDomain::joinMulti方法即可。可以参考用户管理,头像展示方式。

  • 评论列表0