私はPHPが初めてです。現在、iOS アプリを作成し、AFNetworking を使用してこのアプリから画像をアップロードしようとしています。
このようなPHPファイルがあります。iPad の Safari ブラウザからローカル ホストに画像をアップロードできます。しかし、iOS アプリからアップロードできません。どうすればいいですか?
PHPコード
<?php
//print_r($_FILES);
if(isset($_FILES['image']))
{
$errors=array();
$allowed_ext= array('jpg','jpeg','png','gif');
$file_name =$_FILES['image']['name'];
$file_ext = strtolower( end(explode('.',$file_name)));
//print_r($file_ext);
$file_size=$_FILES['image']['size'];
$file_tmp= $_FILES['image']['tmp_name'];
if(in_array($file_ext,$allowed_ext) === false)
{
$errors[]='Extension not allowed';
}
if($file_size > 2097152)
{
$errors[]= 'File size must be under 2mb';
}
if(empty($errors))
{
if( move_uploaded_file($file_tmp, 'images/'.$file_name));
{
echo 'File uploaded';
}
}
else
{
foreach($errors as $error)
{
echo $error , '<br/>';
}
}
// print_r($errors);
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<p>
<input type="file" name="image" />
<input type="submit" value="Upload">
</p>
</form>
iOS コード
-(void)uploadFile
{
NSLog(@"gona upload image");
NSURL *url= [NSURL URLWithString:@"http://192.168.11.7/uploadimage"];
AFHTTPClient *httpClient= [[AFHTTPClient alloc] initWithBaseURL:url];
NSData *imageData= UIImageJPEGRepresentation([UIImage imageNamed:@"IMG_2480.jpg"], 0.5);
//NSLog(@"imageData is %@",imageData);
NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"/images" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:imageData name:@"IMG_2480.jpg" fileName:@"IMG_2480.jpg" mimeType:@"image/jpeg"];
}];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation setUploadProgressBlock:^(NSUInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) {
NSLog(@"Sent %lld of %lld bytes",totalBytesWritten,totalBytesExpectedToWrite);
}];
[httpClient enqueueHTTPRequestOperation:operation];
}