使用`enctype ="multipart/form-data"`总是或从不?

gue*_*tli 9 html browser forms file-upload

我想写一个通用的html模板.

我知道,在过去,你需要设置enctype="multipart/form-data"<form>标签,如果你想上传文件.

我想在我的通用模板中避免这种情况.

我该怎么办?我看到这些解决方案:

  • enctype="multipart/form-data"永远使用.
  • enctype="multipart/form-data"从不使用.

背景:我很幸运,我不需要支持旧的浏览器.我不需要支持IE9或更早版本.

它正在发挥作用

我们enctype="multipart/form-data"几个月以来都在使用各种形式(即使没有要上传的文件).

有用.这使我们的模板更简单.对我来说,这是实现"无条件代码"这一大目标的一个简单步骤.

小智 13

在表单中上传文件时,应将编码指定为"multipart/form-data".

如果要保持表单的通用性,请在表单中省略此属性,并使用输入或按钮元素的formenctype属性直接覆盖它(仅适用于支持HTML5的浏览器).在您的情况下,更改:

<form action="upload.php" method="post" enctype="multipart/form-data">
  Select image to upload:
  <input type="file" name="fileToUpload" id="fileToUpload">
  <input type="submit" value="Upload Image" name="submit">
</form>
Run Code Online (Sandbox Code Playgroud)

至:

<form action="upload.php" method="post">
  Select image to upload:
  <input type="file" name="fileToUpload" id="fileToUpload" formenctype="multipart/form-data">
  <input type="submit" value="Upload Image" name="submit">
</form>
Run Code Online (Sandbox Code Playgroud)

此外,您可以检查此问题,以避免始终使用enctype="multipart/form-data".