微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用PHP和JSON从XCode将图像数据插入MySQL数据库

如何使用JSON通过PHP从XCode在MysqL数据库中插入/存储图像?

解决方法:

在xcode中,您可以执行以下操作:

-(void) uploadImage: (UIImage *)image 
{
                NSData *imageData = UIImageJPEGRepresentation(image, 10);
        // setting up the URL to post to
        Nsstring *urlString = @"http://url.of.your.server/imagesupload.PHP";

        // setting up the request object Now
        NSMutableuRLRequest *request = [[[NSMutableuRLRequest alloc] init] autorelease];
        [request setURL:[NSURL URLWithString:urlString]];
        [request setHTTPMethod:@"POST"];

        /*
         add some header info Now
         we always need a boundary when we post a file
         also we need to set the content type

         You might want to generate a random boundary.. this is just the same
         as my output from wireshark on a valid html post
         */
        Nsstring *boundary = [Nsstring stringWithString:@"---------------------------14737809831466499882746641449"];
        Nsstring *contentType = [Nsstring stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
        [request addValue:contentType forHTTPHeaderField: @"Content-Type"];

        /*
         Now lets create the body of the post
         */
        NSMutableData *body = [NSMutableData data];
        [body appendData:[[Nsstring stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[[Nsstring stringWithFormat:@"Content-disposition: form-data; name=\"image\"; filename=\"imagename.jpg\"\r\n",index] 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]];
        // setting the body of the post to the reqeust
        [request setHTTPBody:body];

        // Now lets make the connection to the web
        NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
        Nsstring *returnString = [[Nsstring alloc] initWithData:returnData encoding:NSUTF8StringEncoding];

        NSLog(returnString);
}

PHP中,您可以执行以下操作:

function imageUpload()
{
// Make sure the user actually 
// selected and uploaded a file
if (isset($_FILES['image']) && $_FILES['image']['size'] > 0) { 

      // Temporary file name stored on the server
      $tmpName  = $_FILES['image']['tmp_name'];  

      // Read the file 
      $fp      = fopen($tmpName, 'r');
      $data = fread($fp, filesize($tmpName));
      $data = addslashes($data);
      fclose($fp);


      // Create the query and insert
      // into our database.
      $query = "INSERT INTO tbl_images ";
      $query .= "(image) VALUES ('$data')";
      $results = MysqL_query($query, $link);

      // Print results
      print "Thank you, your file has been uploaded.";

}
else {
   print "No image selected/uploaded";
}

// Close our MysqL Link
MysqL_close($link);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐