enctype ='multipartform-data'是什么意思?

enctype ='multipartform-data'是什么意思?,第1张

enctype ='multipart / form-data'是什么意思?

发出POST请求时,必须以某种方式对构成请求主体的数据进行编码。

HTML表单提供了三种编码方法。

  • application/x-www-form-urlenpred
    (默认)
  • multipart/form-data
  • text/plain

正在进行添加的工作

application/json
,但已被放弃。

(使用HTML表单提交以外的其他方式生成的HTTP请求也可以使用其他编码。JSON是用于Web服务的常见格式,有些仍然使用SOAP。)

格式的细节对大多数开发人员而言并不重要。要点是:

  • 永远不要使用
    text/plain

编写客户端代码时:

  • 使用
    multipart/form-data
    时,你的形式包括任何
    <input type="file">
    元素
  • 否则,您可以使用
    multipart/form-data
    或,
    application/x-www-form-urlenpred
    application/x-www-form-urlenpred
    会更有效率

在编写服务器端代码时:

  • 使用预先编写的表单处理库

大多数(例如Perl

CGI->param
或PHP的
$_POST
superglobal公开的内容)将为您解决这些差异。不要费力尝试解析服务器收到的原始输入。

有时您会发现无法同时处理两种格式的库。Node.js最受欢迎的用于处理表单数据的库是body-parser,它无法处理多部分请求(但具有建议使用某些替代方法的文档)。


如果要编写(或调试)用于解析或生成原始数据的库,则需要开始担心格式。为了您的利益,您可能还想了解它。

application/x-www-form-urlenpred
与URL末尾的查询字符串大致相同。

multipart/form-data
复杂得多,但是它允许整个文件包含在数据中。结果的一个示例可以在HTML
4规范中找到。

text/plain
是由HTML5引入的,仅对调试有用-从规范来看: 它们不能由计算机可靠地解释-而且我认为其他与工具结合使用(例如大多数浏览器的开发人员工具中的“网络面板 ”)更好为了那个原因)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4986052.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存