阅读 125

表单中的单文件上传和多文件上传

单文件上传

如果想要上传文件,必须借助formidable模块 

该模块引入之后,除了可以处理普通的post请求之外的数据,还可以处理上传的图片文件等数据……

注意:此时,必须要给form表单设置enctype属性类型为multipart/form-data,才能够让formidable解析req对象

使用步骤:

1 浏览器端,修改enctype类型为multipart/form-data

2 服务器端,引入 formidable 模块并实例化 (实例化对象中有个uploadDir表示上传文件存储的路径)

3 服务器端,修改文件存储位置,通过process.cwd()获取指令执行时的位置

4 服务器端,通过fd.parse解析请求对象,获取上传的文件信息 (fd为formidable的实例化对象)

  fd.parse(req, (err, fileds, files))

    err: 异常参数,成功时为null

    fileds:解析post请求的数据

    files:上传的文件

5 服务器端,通过 fs 模块,存储上传的文件。

多文件上传

如果想要选中多个文件,必须给input元素添加multiple属性,此时,就可以按下ctrl同时选中多张图片

但是如果还是使用单文件上传的方式接收文件就不行了,此时要再服务器端监听一个事件: file事件,该事件会在每一次上传的时候都会执行一次

 

 上传文件时,input设置accept="image/*"; 可以确保只能选择图片上传

原文:https://www.cnblogs.com/yess/p/14774989.html

文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐