【问题标题】:Strange form reaction when file uploaded上传文件时奇怪的表单反应
【发布时间】:2015-10-17 17:48:07
【问题描述】:

我有一个简单的表格:

        <form action="http://localhost/api2/Users/Teachers/imageUpload" method="post" enctype="multipart/form-data" data-ajax="false">
        <input type="hidden" name="X-API-KEY" value="21f5ba3c7ac34c81964f5e49b13b9b65914dhar2">
        var1: <input type="number" name="var1"  ></br>
        var2: <input type="number" name="var2"  ></br>
        image: <input type="file" name="img" multiple></br>
        <input type="submit">
        </form>

这一切应该做的就是发送带有 api-key、var1、var2 和图像文件的 post 请求。

现在只要表单不尝试发送文件,一切正常。当我尝试发送图像时,就好像我发送了一个空表单。

这是我的一些后端:(我将此设置为默认响应,仅用于测试。)

    $var1 = $this->post("var1");
    $var2 = $this->post("var2");
    $this->response(array("Error"=> TRUE,"message"=>"Missing arguments","data"=>array($var1,$var2,$_FILES)),500);

没有文件的响应:

{
"Error": true,
"message": "Missing arguments",
"data": [
    "1",
    "2",
    []
    ]
}

响应文件:

{"Error":true,"message":"Access Denied"}

如果我通过Postman 发送它,我会收到。

{
"Error": true,
"message": "Missing arguments",
"data": [
    false,
    false,
    []
    ]
}

我使用codeigniter-restserver 作为我的restAPI 控制器。在我开始上传文件之前它工作得很好。

有人知道是什么原因造成的吗? 谢谢你。

【问题讨论】:

  • 尝试将img中的“倍数”取出来,看看是否有效。如果是这样,那么您就知道问题出在哪里了。
  • 他们我不确定 - 对不起。
  • 如果使用多个选项,您应该使用name="img[]"。缺少它不应该产生你所描述的行为,但谁知道呢。
  • 不管有没有multiple,它都不起作用。该表格只是为了测试我的后端,这在某种程度上显然是错误的。我发布了我的后端的“精髓”。我也一直在使用Postman 插件进行测试,我发现当一个文件被传递时,Headers 之后的所有内容都没有传递(表单数据)。也许这是一个线索?

标签: php html codeigniter rest file-upload


【解决方案1】:

查看 php.ini 文件中 max_file_size 和 post_max_size 的大小,将它们放大或尝试上传较小的图像。我最近遇到了类似的问题。

希望对你有帮助。

【讨论】:

  • 完美,谢谢....inis 总是能吸引我:P
猜你喜欢
  • 2015-04-06
  • 2023-03-22
  • 2011-04-02
  • 2011-09-22
  • 2011-01-19
  • 1970-01-01
  • 2019-12-01
  • 2016-04-03
  • 1970-01-01
相关资源
最近更新 更多