我有一个问题:我想将我的iOS应用程序中的图片发送到php脚本,以将此图像插入到mysql数据库中。 mysql db中图像的字段是LONGBLOB。发送的图像是_photoImageView.image 我在Xcode中创建的方法如下:
NSData *dataForImage = UIImagePNGRepresentation(_photoImageView.image);
NSMutableString *strURL = [NSMutableString stringWithFormat:@"http://localhost/myfff/join.php?username=%@&password=%@&photo=%@",_txtUsername.text,_txtPassword.text, dataForImage];
[strURL setString:[strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:strURL]];
[request setHTTPMethod:@"POST"];
postConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
在受影响部分的php脚本中,我这样做:
$data = addslashes(fread(fopen($_FILES[photo], "rb"))); $query = "INSERT INTO mytb VALUES (' ','$username','$password'','$data')";
插入不会发生..我哪里错了?请帮帮我!
答案 0 :(得分:1)
如果您在php脚本上获得了其他发布的数据,那么用户名&密码然后问题是你不会在$_FILES
数组中获取数据,因为你共享的Xcode不是以数据形式上传(multipart / form-data)而是发布数据(我相信),所以我认为您将获得$_POST['photo']
中的原始图像数据,查询应为:
$data = $_POST['photo'];
$query = "INSERT INTO mytb VALUES (' ','$username','$password'','$data')";
即使您在$_FILES
中获得了照片,但仍然使用错误的内容fread
它应该是:
$data = addslashes(fread(fopen($_FILES['photo']['tmp_name'], "rb")));