iphone向Web服务器发送图片

来源:互联网 发布:管家婆怎么数据清除 编辑:程序博客网 时间:2024/05/22 12:07
 //把图片转换为NSData   
  • UIImage *image = [UIImage imageNamed:@"vim_go.png"];       
  • NSData *imageData = UIImagePNGRepresentation(image);   
  • // post url   
  • NSString *urlString = @"http://10.28.4.162/test-upload.php";   
  •   
  • // setting up the request object now   
  • NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];   
  • [request setURL:[NSURL URLWithString:urlString]];   
  • [request setHTTPMethod:@"POST"];   
  • //   
  • NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];   
  • NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];   
  • [request addValue:contentType forHTTPHeaderField: @"Content-Type"];   
  • //   
  • NSMutableData *body = [NSMutableData data];   
  • [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];       
  • [body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"userfile\"; filename=\"vim_go.png\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];   
  • [body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];   
  • [body appendData:[NSData dataWithData:imageData]];   
  • [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];   
  • [request setHTTPBody:body];   
  •   
  • NSLog(@"%@",body);   
  • NSLog(@"%@",request); 
    1. NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];  
    C代码
    1. NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];   
    2.   
    3. result_btn.text = returnString;   

     

    Php代码
    1. /Applications/XAMPP/htdocs   
    2.   
    3. imac:htdocs aitracy$ cat test-upload.php    
    4.   
    5. <?php   
    6. $uploaddir = './upload/';   
    7. echo "recive a image";   
    8. $file = basename($_FILES['userfile']['name']);   
    9. $uploadfile = $uploaddir . $file;   
    10.   
    11. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {   
    12.     echo "/uploads/{$file}";   
    13. }   
    原创粉丝点击