刚入手node,学着用formidable上传一些文件,之前看视频感觉挺简单的,就没有实践.今天得空想搞个上传,结果,结果,竟然按照官方readme敲下来之后,一直得不到数据.然后一步一步的删除,调试发现竟是这货搞得鬼.记录一下
W3C 定义
enctype 属性规定在将表单数据发送到服务器之前如何对其编码.
值 | 描述 |
---|---|
application/x-www-form-urlencoded | 在发送前编码所有字符(默认) |
multipart/form-data | 不对字符编码。当使用有文件上传控件的表单时,该值是必需的。 |
text/plain | 将空格转换为 "+" 符号,但不编码特殊字符。 |
总结
- 日常用form表单发送数据是不设置enctype时,exctype默认是第一个值,服务器可以用request获取;
- 当需要发送文件时,需要设置为第二个值,否则上传不成功.第二值是指不对字符编码,上传二进制数据过去,服务器端只有流对象才能获取,request不能获取未编码的二进制;
- 第三个值,为纯文本格式.只能被服务器端get方式获取,不能被服务器端post方式获取;