如何让文件上传

本文详细介绍了使用upload模块进行文件异步上传的过程,包括如何配置参数以满足不同需求,如文件类型、大小限制、自动上传及错误处理等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于文件上传的问题,通常情况下我们上传文件是借助type=“file”的input标签来完成的,,但是它不能很好的上传,所以我们经常要单独为它做一个业务层面的“异步上传”,所谓的异步上传就是先让图片上传,再和其他的表单一起保存。

先看一个案例:

这原本只是一个普通的button,然后upload模块赋予了它“文件选择”的特殊技能

值得注意的是,使用upload模块的时候,一定要与upload。Render(options)方法打交道,里面的options作为基础参数,,是一个对象。而更多支持的参数如下,合理的配置它们,可以应对各种各样的需求:

  1. Elem:指向容器选择器,如:elem‘#id’,也可以是DOM对象
  2. Url:服务端上传接口,会返回数据
  3. Data:请求上传接口的额外参数
  4. Headers:接口的请求头,如headers:{token:“sasasaa”}
  5. Accept:指定允许上传时校验的文件类型,可选值有images(图片),file(所有文件),video1(视频),audio(音频)
  6. AcceptMime:规定打开文件选择框时,筛选出文件类型,值为用逗号隔开的MIME类型列表,如acceptMime:“image/”(只显示图片文件);acceptMime:‘image/jpg’(只显示jpg和陪你过文件)image/png’
  7. Exts:允许上传的文件后缀。一般结合accept参数类设定。假设accept为file类型时,那么你设置exts:‘zip\rar\7z’即代表只允许上传压缩格式的文件。如果accept未设定,那么限制的就是图片的文件格式
  8. Auto:是否选定文件后自动上传。如果设定false,那么需要设置bindAction“#btn”
  9. Field:设定文件域的字段名
  10. Size:设置文件最大可允许上传的大小,单位KB
  11. Multiple:是否允许多文件上传,设置true即可开启
  12. Number·:设置同时可上传的文件数量,一般配合multiple参数使用
  13. Drag:是否接受拖拽的文件上传,设置false可禁用
  14. Choose:选择文件后的回调函数,返回一个参数object
  15. Before:文件提交上传前的回调,返回一个参数object
  16. Done:执行上传请求后的回调,返回三个参数,分别是res(服务端响应信息),index(当前文件的索引),upload(重新上传的方法,一般在文件上传失败后使用)
  17. Error:执行上传请求出现异常的回调(一般为网络异常,URL 404等),返回两个参数,分别是:index(当前文件的索引),upload(重新上传的方法)

在这里一共有17个参数,参数有点多,但是各有各的作用,如果没有了它们,文件无法上传成功,但是有这种情况,就是在上传接口请求完毕触发后,文件还是不一定上传成功的,可能只是显示接口的响应状态正常而已,它一般会回调返回三个参数,分别是res(服务端响应信息),index(当前文件的索引),upload(重新上传的方法,一般在文件上传失败后使用)

想要文件顺顺利利的上传成功,第一点:代码不能出现错误,第二点:参数要正确,满足这两点,文件上传成功应该是没有什么问题的了                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值