13

いくつかの例を見てきましたが、私の問題は PHP にあると思います。AFNetworking を使用して iPhone からサーバーに画像をアップロードしようとしています。ここに私のobj-cコードがあります:

    -(IBAction)uploadButtonClicked:(id)sender
{

NSData *imageToUpload = UIImageJPEGRepresentation(mainImageView.image, 90);
AFHTTPClient *client= [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://www.THESERVER.com"]];

NSMutableURLRequest *request = [client multipartFormRequestWithMethod:@"POST" path:@"/PROJECT/upload.php" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
    [formData appendPartWithFileData: imageToUpload name:@"file" fileName:@"temp.jpeg" mimeType:@"image/jpeg"];
}];

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSString *response = [operation responseString];
    NSLog(@"response: [%@]",response);
    [MBProgressHUD hideHUDForView:self.view animated:YES];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    [MBProgressHUD hideHUDForView:self.view animated:YES];
    if([operation.response statusCode] == 403){
        NSLog(@"Upload Failed");
        return;
    }
    NSLog(@"error: %@", [operation error]);

}];

[operation start];
}

これは私のupload.phpです:

function upload(){
    $uploaddir = '/uploads/';
    $file = basename($_FILES['file']['name']);
    $uploadfile = $uploaddir . $file;

    if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
        sendResponse(200, 'Upload Successful');
        return true;
    }
    sendResponse(403, 'Upload Failed');
        return false;

}

アップロードしようとすると失敗します

if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {

設定した 403 / false ステータス コードを返します

4

1 に答える 1

3

くだらないミスでした…

PHPで私が必要とした

$uploaddir = 'uploads/';

それ以外の

$uploaddir = '/uploads/';
于 2012-06-04T21:21:41.033 に答える