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