2011-09-11 15 views
1

私のiPhoneアプリから私のubuntuサーバーに小さな.pngファイル(50x50ピクセル)をアップロードしようとしています。私はStackOverflowやその他のWeb上でこの問題にいくつか取り組みましたが、まだ成功していません。私はObj-Cコードをアップロードしてファイルをアップロードし、サーバーの応答、サーバー上のPHPコード、および私が得ている応答を記録します。私は本当にこれを解決するためのいくつかの助けに感謝します - あなたが私のコードに問題が表示されたら教えてください - ありがとう! Ubuntuのサーバー上のiPhone/Cocoa Ubuntu(LAMP)でPHPに画像ファイルをアップロード

// This method uploads the image to the server 
-(void)uploadImage{ 

    NSURL *url = [NSURL URLWithString:@"http://mydomain.com/upload.php"]; 

    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 

    [request setUseKeychainPersistence:YES]; 

    NSString *fileName = [NSString stringWithFormat:@"%@",self.avatarFileName]; 
    [request addPostValue:fileName forKey:@"name"]; 

    // Upload an image 
    NSData *imageData = UIImagePNGRepresentation([UIImage imageNamed:self.avatarFileName]); 

    // Make sure it's not null.. 
    NSLog(@"%d",[imageData length]); 

    // Set the data and filename 
    [request setData:imageData withFileName:fileName andContentType:@"image/png" forKey:@"userfile"]; 

    [request setDelegate:self]; 
    [request setDidFinishSelector:@selector(uploadRequestFinished:)]; 
    [request setDidFailSelector:@selector(uploadRequestFailed:)]; 

    [request startAsynchronous]; 
} 

- (void)uploadRequestFinished:(ASIHTTPRequest *)request{  
    NSString *responseString = [request responseString]; 
    NSLog(@"Upload response %@", responseString); 
} 

- (void)uploadRequestFailed:(ASIHTTPRequest *)request{ 

    NSLog(@" Error - Statistics file upload failed: \"%@\"",[[request error] localizedDescription]); 
} 

PHPコード:

のObj-Cのコード

<?php 
echo ' -- Hit Script --'; 
print_r($_FILES); 
$target_path = "files/"; 
$target_path = $target_path . basename($_FILES['uploadedfile']['name']); 
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { echo "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded"; } else{ echo "There w 
as an error uploading the file, please try again!"; } 
?> 

サーバからの応答:

Upload response -- Hit Script -- 
Array 
(
) 
There was an error uploading the file, please try again! 

答えて

1

私はあなたがアップロードするためのキーuserfileを使用したと思われますファイル、アップロードされていないファイル($ _FILES ['userfile']を使います)。

+0

うわー、それは魅力的でした!どうもありがとうございます。 – PhilBot

関連する問題