我需要帮助,似乎无法在任何地方找到答案。我有一个应用程序,我想使用PHP将图像存储到MySQL。这里是我使用的代码,我不明白我在做什么错...任何帮助将不胜感激。使用PHP从iOS上传图像到MySQL
NSString *urlString = @"http://homeWeb.local/postPicSK.php?";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSMutableData *body = [NSMutableData data];
NSString *boundary = @"---------------------------14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request addValue:contentType forHTTPHeaderField:@"Content-Type"];
// picture
UIImage *image = imageView.image;
CGFloat compression = 0.5f;
//UIImage *smallSizeImage = [self scaleImage:image toSize:CGSizeMake(140.0, 80.0)];
NSData *imageData = UIImageJPEGRepresentation(image, compression);
// date and time
NSDate* date = [NSDate date];
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString* dateAndTime = [formatter stringFromDate:date];
//[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"test\"; filename=\"%@ %@.jpg\"\r\n", [self userNameFetch], dateAndTime] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"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]];
// close form
[body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
// set request body
[request setHTTPBody:body];
//return and test
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"%@", returnString);
我的PHP文件:
<?php
$hostusername = "root";
$hostpassword = "root";
$hostname = "127.0.0.1";
$courtname = $_POST['name'];
echo "Court Name:".$courtname."<br>";
$image1 = file_get_contents($_FILES['image']['name']);
echo $image1;
//connection to the database
$dbhandle = mysql_connect($hostname, $hostusername, $hostpassword)
or die("Unable to connect to MySQL");
//select a database to work with
$selected = mysql_select_db("scoreKeeper",$dbhandle)
or die("Could not select userName");
$query = mysql_query("INSERT INTO teamData (courtName, liveGameFeedImages)
VALUES ('$courtname',$image1')");
if($query)
{
echo"Successful";
} else {
echo"Error";
}
//close the connection
mysql_close($dbhandle);
?>
你有什么问题? – Jens
我无法得到它发布到数据库或得到任何回声 – user961632
通常不是一个好的做法,在数据库中存储图像。 – Prashant