簡體   English   中英

AFNetworking 2.0圖片上傳和JSON返回錯誤

[英]AFNetworking 2.0 Picture Upload and JSON Return Error

我的AFNetworking代碼似乎沒有將任何圖像和文本上傳到服務器,但是當我嘗試將圖像上傳到PHP文件時,Json返回了以下錯誤或錯誤代碼3840。我知道您是否需要更多信息。

-(void)upLoadImage
{ 
   AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"https://***.php"]];

manager.responseSerializer = [AFHTTPResponseSerializer serializer];

NSData *imageData = UIImageJPEGRepresentation(self.imageView.image, 0.5);
NSDictionary *parameters = @{@"message": self.pictureMessage.text};
AFHTTPRequestOperation *op = [manager POST:@"rest.of.url" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {


    //do not put image inside parameters dictionary as I did, but append it!
    [formData appendPartWithFileData:imageData name:@"userfl" fileName:@"upload.jpg" mimeType:@"image/jpeg"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"Success: %@ ***** %@", operation.responseString, responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@ ***** %@", operation.responseString, error);
}];


op.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
op.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"application/json"];

}

PHP:

    <?php

header('Content-type: application/json');

if(!empty($_POST)) 
{

    $message = $_POST['message'];

    $directory = $_SERVER['DOCUMENT_ROOT'] . '/appphotos';

    $file = basename($_FILES['userfl']['upload.jpg']);

    $uploadfile = $directory . $file;

    echo 'message= '.$message;

    var_dump($_FILES);

    $randomPhotoID = md5(rand() * time());

    echo json_encode($file);

if (move_uploaded_file($_FILES['userfl']['tmp_name'], $uploadfile)) 
    {
    $response["success"];
    echo json_encode($response);
    }
    else
    {
    $response["failure"];
    echo json_encode($response);

}

}
else
{
    $response['Empty post data'];
    echo json_encode($response);
}

?>

錯誤:

2013-12-23 01:06:45.720 Animal[13757:907] Success: message= array(1) {
  ["userfl"]=>
  array(5) {
    ["name"]=>
    string(10) "upload.jpg"
    ["type"]=>
    string(10) "image/jpeg"
    ["tmp_name"]=>
    string(14) "/tmp/phpeRVNwb"
    ["error"]=>
    int(0)
    ["size"]=>
    int(9613)
  }
}
""null ***** <6d657373 6167653d 20617272 61792831 29207b0a 20205b22 75736572 666c225d 3d3e0a20 20617272 61792835 29207b0a 20202020 5b226e61 6d65225d 3d3e0a20 20202073 7472696e 67283130 29202275 706c6f61 642e6a70 67220a20 2020205b 22747970 65225d3d 3e0a2020 20207374 72696e67 28313029 2022696d 6167652f 6a706567 220a2020 20205b22 746d705f 6e616d65 225d3d3e 0a202020 20737472 696e6728 31342920 222f746d 702f7068 70655256 4e776222 0a202020 205b2265 72726f72 225d3d3e 0a202020 20696e74 2830290a 20202020 5b227369 7a65225d 3d3e0a20 20202069 6e742839 36313329 0a20207d 0a7d0a22 226e756c 6c>

嘗試這個?

manager.requestSerializer = [AFJSONRequestSerializer serializer];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM