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:上传的文件名

举个例子

  1. 上传图片:
  2. 将图片文件上传到服务器端的指定目录
  3. 将图片文件名和服务器的地址进行拼接
  4. 将拼接后的图片的路径响应给客户端,在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