图片上传到SSL文件夹,状态码200,标题{connection = closed}

时间:2015-06-17 11:52:02

标签: php ios ssl

我正在尝试连接到我服务器上的SSL文件夹中的php文件,以上传我的应用程序中拍摄的图像,所有证书等都已到位,并且dir的权限设置为777但我收到错误代码200,没有上传的图片。

我的ViewController.m中与此相关的代码部分是

<?php

header('Content-Type: application/json; charset=utf-8');
//header('Content-Type: text/html; charset=utf-8');

if (isset($_POST['comentario']) && isset($_POST['id'])) {
    $comentario = $_POST['comentario'];
    $id = $_POST['id'];
    if (isset($_FILES['myFile'])) {
        move_uploaded_file($_FILES['myFile']['tmp_name'], "./" . $_FILES['myFile']['name']);
    }


    $respuesta = array("code"=>2000,"message"=>"successful", "comentario"=>$comentario, "id"=>$id);
    // $class_response = json_decode(json_encode($respuesta));
    // echo $class_response->comentario;
    //echo $comentario;
    echo json_encode($respuesta);
}
else{
    $respuesta = array("code"=>4000,"message"=>"fail");
    echo json_encode($respuesta);
}



?>

php文件是

   <NSHTTPURLResponse: 0x1545b4360> { URL: https://secure101.prositehosting.co.uk/php-upload-file-server-master2/subir.php } { status code: 200, headers {
    Connection = close;
    "Content-Type" = "application/json; charset=utf-8";
    Date = "Wed, 17 Jun 2015 10:55:46 GMT";
    Server = Apache;
    "Transfer-Encoding" = Identity;
} }
2015-06-17 11:55:55.556 CameraApp[1647:643453] String sent from server {"code":4000,"message":"fail"}

错误响应是

Arg[0]

我已经在info.plist文件中的Xcode中实现了TLS密钥,以符合针对iOS 9宣布的新标准,但仍然无法上传任何图像。

非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

请注意,200是“确定”的HTTP状态代码。成功处理请求时返回。

因为您收到了JSON响应

{"code":4000,"message":"fail"}

可以推断出条件语句

if (isset($_POST['comentario']) && isset($_POST['id']))

返回false。

毫不奇怪,因为您没有在commentario请求中发送字段idPOST

您必须包含这些字段或对服务器端php代码进行修改。

由于缺少字段,您可能还希望在发送错误响应时返回另一个HTTP状态代码。我建议400为“不良请求”。