22.课时117-幼教平台:文件上传操作

在这里插入图片描述
图片 音频 视频存储在服务器,数据库中仅仅存放的是这些文件的地址而已。

文件上传处理,要使用formdiable插件

  1. Nodejs在处理客户端以post方式提交的数据时,比较复杂,要写两个监听,并且要处理上传的图片,文件也比较困难
  2. 常用第三方模块包formdiable来处理客户端以post提交的表单、文件、图片等
    如何使用呢?
  3. 使用命令 npm install formidable安装
    在这里插入图片描述

注意事项:

  1. 表单提交的过程中涉及文件或图片上传,则一定要设置表单头,即在form标签上加上固定写法的属性为enctype=”multipart/form-data”,否则文件或图片会上传失败

  2. ,当中的name属性一定要赋值,详情见文档:https://github.com/node-formidable/node-formidable
    步骤:

  3. 安装 执行命令 npm install formidable –save

  4. 引入formidable
    在这里插入图片描述

  5. 不再使用这种方式了
    在这里插入图片描述
    而是使用formidable方式了,具体的操作步骤可以参考文档

  6. 在项目中新建文件夹dir
    在这里插入图片描述

  7. app.js中使用formidable
    在这里插入图片描述

  8. 重启服务器,进入localhost:2000,填写表单,选择文件,提交文件
    在这里插入图片描述

  9. 服务器控台输出:文本信息都可以,但是文件信息不可以,是因为我们需要进行一些设置
    在这里插入图片描述

  10. 设置表单头,默认是:application/x-www-form-urlencoded
    在这里插入图片描述

  11. 为,当中的name属性赋值
    在这里插入图片描述

  12. Jquery提交时不要再使用序列化,因为插件中已经做了;另外不要让jquery将数据转为字符串,以默认的对象的形式传递过去
    在这里插入图片描述

  13. 重启服务器;数据读取成功
    在这里插入图片描述

  14. 但是这种方式很不友好,我们做如下改变:
    1.1 删除action提交地址
    在这里插入图片描述
    在这里插入图片描述
    1.2 修改input提交方式为submit
    在这里插入图片描述
    1.3 修改使用普通form提交方式
    在这里插入图片描述
    1.4 App.js中指定文件的后缀名
    在这里插入图片描述
    1.5 重新运行服务器,成功
    在这里插入图片描述
    2 重新使用按钮提交
    在这里插入图片描述

完整版,标红的为注意事项
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值