0

我有一个问题:我想将图片从我的 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')";

插入没有发生..我错在哪里?请帮帮我!

4

1 回答 1

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")));

于 2013-07-10T11:32:23.450 回答