HTML 表单文件上传无法上传文件

问题描述 投票:0回答:3

尽管所有后端代码都正确,但文件未上传。我用另一个前端样式的代码测试了后端代码,它工作得很好。

但在我的前端代码中它没有上传任何文件。我还删除了所有 css 和脚本来解决问题。

这是我的简单前端 HTML 表单:

<form action="upload_handler.php" method="post">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload" name="submit">
</form>
html file upload forms
3个回答
17
投票

你忘了提及

enctype="multipart/form-data"

<form action="upload_handler.php" enctype="multipart/form-data" method="post">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload" name="submit">
</form>

6
投票

问题出在您的

<form>
标签中的属性。要成功地以 HTML 格式正确上传文件,应满足以下要求。

  • 确保表单使用method="post"

  • 表单还需要以下属性:enctype="multipart/form-data"。

它指定提交表单时使用哪种内容类型

所以只需将这个

enctype="multipart/form-data"
部分添加到您的
<form>
标签中即可。


0
投票

有多种原因可能导致您的 HTML 表单文件上传无法正常工作。以下是一些最常见的:

  • 表单未使用
    enctype="multipart/form-data"
    属性。 该属性告诉浏览器以某种方式对表单数据进行编码 允许上传文件。
  • 文件输入元素没有
    name
    属性。这个属性 用于识别表单数据中的文件。
  • 您尝试上传的文件太大。
  • 可上传的最大文件大小通常受服务器配置的限制。
  • 您尝试上传的文件不是有效的文件类型。这 服务器可能只允许上传某些文件类型。
  • 负责的服务器端代码中有错误 正在处理文件上传。

如果您已检查所有这些内容,但文件上传仍然无法正常工作,那么您可能需要联系您的网络托管提供商寻求帮助。

您可以检查以下一些其他事项:

  • 确保文件输入元素的
    accept
    属性设置为您想要允许的文件类型。例如,要仅允许 JPEG 和 PNG 图像,您可以将
    accept
    属性设置为
    image/jpeg
    image/png
  • 确保您尝试上传的文件与 HTML 表单位于同一目录中。如果文件位于不同的目录中,您将需要在文件输入元素的
    file
    属性中指定文件的完整路径。
  • 确保服务器对上传文件的目录设置了正确的权限。该目录必须可由 Web 服务器用户写入。

我希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.