1

画像をphpサーバーにアップロードするコードは次のとおりですが、画像はサーバーで破損した画像としてアップロードされます.以下は私のコードです.問題を教えてください..ココアレストクライアントで試しましたが、画像はそこから正しくアップロードされています.

    NSString *filename = @"connect-blue.png";
    UIImage *image = [UIImage imageNamed:filename];
    NSMutableURLRequest * request= [[[NSMutableURLRequest alloc] init] autorelease];
    [request setURL:[NSURL URLWithString:urlString]];
    [request setHTTPMethod:@"POST"];
    NSString *boundary = @"---------------------------14737809831466499882746641449";
    NSString *contentType = [NSString stringWithFormat:@"multipart/form-data;    boundary=%@",boundary];
    [request addValue:contentType forHTTPHeaderField: @"Content-Type"];
    NSMutableData *postbody = [NSMutableData data];
    [postbody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [postbody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"profile_image\"; filename=\"%@\"\r\n",filename] dataUsingEncoding:NSUTF8StringEncoding]];
   [postbody appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

    [postbody appendData:[postString dataUsingEncoding:NSUTF8StringEncoding]];
    NSData *imagedata = UIImageJPEGRepresentation(image,1.0f);

    [postbody appendData:[NSData dataWithData:imagedata]];
    [postbody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary]  dataUsingEncoding:NSUTF8StringEncoding]];

PHPコードはこちら

if(!empty($_FILES)){
//
  $imgname=$_FILES['image']['name'];
         $a=pathinfo($imgname);

  if(!empty($a['extension'])){  
   $img_name=$a['filename'];
   $img_ext=$a['extension'];
 }

  else

  {

    $img_name='';

   $img_ext='';

   }

   $img_pre=mktime();

   $image1=$img_pre."_".$imgname;
  move_uploaded_file($_FILES['image']['tmp_name'],  "uploads/images/" .  $image1);
4

2 に答える 2

2

解決策を見つけました画像のアップロード

于 2012-12-06T12:13:01.260 に答える
0

両方のテクノロジで画像のフレームを管理できます。つまり、iPhone から画像を送信する場合、画像のサイズは php でも同じです。Async Image クラスを管理していると思います。

于 2012-12-05T10:50:42.640 に答える