node实现文件上传(1)-创新互联
1、FormData对象:
站在用户的角度思考问题,与客户深入沟通,找到遂昌网站设计与遂昌网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、成都网站建设、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网络空间、企业邮箱。业务覆盖遂昌地区。以对象的方式来表示页面中的表单,又称为表单对象。以key-value的方式来保存数据,XMLHttpRequest对象可以轻松的表单对象发送的服务器端
(1)是一个构造函数:new FormData()
(2)常用的API:
FormData.append(key,value):追加数据。向formdata中追加key-value
FormData.get(key):获取key对应的值
FormData.delete(key):删除key对应的值
FormData.has(key):判断formdata中是否有key
2、node使用formidable模块实现文件上传
(1)安装:npm install formidable(终端输入)
(2)创建Formidable.IncomingForm对象:本质是一个表单对象
let form = new Formidable.IncomingForm()
(3)Formidable.IncomingForm对象的属性:
form.encoding : 设置字符集
form.uploadDir:设置上传文件的保存路径
form.keepExtensions:true,表示上传时保留原来的扩展名
(4)Formidable.IncomingForm对象的方法:
form.parse(request, [callback]):转换请求中的表单数据
(5)Formidable.File对象的属性
size:上传文件的大小
path:上传文件的路径
type:上传文件的类型
name:上传的文件名
举个例子
上传图片:
将图片文件上传到服务器端的指定目录
将图片文件名和服务器的地址进行拼接
将拼接后的图片的路径响应给客户端,在div中显示出来
---客户端
-----服务器端
4、文件上传需要注意的问题
(1)前端FormData对象作用:用于保存上传文件的信息。格式:key-value
(2)后台formidable模块的作用:使用parse方法来解析前端的formdata对象
(3)上传过程中前后端的对应关系
二、Express实现文件下载
1、使用res对象(响应对象)的download方法即可(该方法效率低)
三、遍历下载文件夹下的文件,拼接成一个下载的url,传递到前端
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
新闻名称:node实现文件上传(1)-创新互联
文章出自:http://pwwzsj.com/article/gpcop.html