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 回答