对于文件上传的问题,通常情况下我们上传文件是借助type=“file”的input标签来完成的,,但是它不能很好的上传,所以我们经常要单独为它做一个业务层面的“异步上传”,所谓的异步上传就是先让图片上传,再和其他的表单一起保存。
先看一个案例:
这原本只是一个普通的button,然后upload模块赋予了它“文件选择”的特殊技能
值得注意的是,使用upload模块的时候,一定要与upload。Render(options)方法打交道,里面的options作为基础参数,,是一个对象。而更多支持的参数如下,合理的配置它们,可以应对各种各样的需求:
- Elem:指向容器选择器,如:elem‘#id’,也可以是DOM对象
- Url:服务端上传接口,会返回数据
- Data:请求上传接口的额外参数
- Headers:接口的请求头,如headers:{token:“sasasaa”}
- Accept:指定允许上传时校验的文件类型,可选值有images(图片),file(所有文件),video1(视频),audio(音频)
- AcceptMime:规定打开文件选择框时,筛选出文件类型,值为用逗号隔开的MIME类型列表,如acceptMime:“image/”(只显示图片文件);acceptMime:‘image/jpg’(只显示jpg和陪你过文件)image/png’
- Exts:允许上传的文件后缀。一般结合accept参数类设定。假设accept为file类型时,那么你设置exts:‘zip\rar\7z’即代表只允许上传压缩格式的文件。如果accept未设定,那么限制的就是图片的文件格式
- Auto:是否选定文件后自动上传。如果设定false,那么需要设置bindAction“#btn”
- Field:设定文件域的字段名
- Size:设置文件最大可允许上传的大小,单位KB
- Multiple:是否允许多文件上传,设置true即可开启
- Number·:设置同时可上传的文件数量,一般配合multiple参数使用
- Drag:是否接受拖拽的文件上传,设置false可禁用
- Choose:选择文件后的回调函数,返回一个参数object
- Before:文件提交上传前的回调,返回一个参数object
- Done:执行上传请求后的回调,返回三个参数,分别是res(服务端响应信息),index(当前文件的索引),upload(重新上传的方法,一般在文件上传失败后使用)
- Error:执行上传请求出现异常的回调(一般为网络异常,URL 404等),返回两个参数,分别是:index(当前文件的索引),upload(重新上传的方法)
在这里一共有17个参数,参数有点多,但是各有各的作用,如果没有了它们,文件无法上传成功,但是有这种情况,就是在上传接口请求完毕触发后,文件还是不一定上传成功的,可能只是显示接口的响应状态正常而已,它一般会回调返回三个参数,分别是res(服务端响应信息),index(当前文件的索引),upload(重新上传的方法,一般在文件上传失败后使用)
想要文件顺顺利利的上传成功,第一点:代码不能出现错误,第二点:参数要正确,满足这两点,文件上传成功应该是没有什么问题的了