画像とテキストフィールドのデータをサーバーにアップロードしようとしています。これで、テキストフィールドのデータをサーバーに正常にアップロードできます。しかし、イメージとテキストフィールドのデータを同時にアップロードする方法はわかりません。誰でも助けてくれますか?ここでPOSTを使用して画像とテキストをアップロードする方法
はコードです:ここでは
-(IBAction)submit:(id)sender{
NSData *imageData = UIImageJPEGRepresentation(imageView.image, 90);
NSString *date = self.date.text;
NSString *phone = self.phone.text;
NSString *email = self.email.text;
NSString *address = self.address.text;
NSString *contact = self.contact.text;
NSMutableString *rawStr = [NSMutableString stringWithFormat:@"date=%@&@&phone=%@&email=%@&address=%@&contact=%@", date,
phone,email,address,contact];
NSData *data = [rawStr dataUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:@"http://localhost/abc/savedata.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:data];
NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
NSString *responseString = [NSString stringWithUTF8String:[responseData bytes]];
NSLog(@"%@", responseString);
NSString *success = @"success";
[success dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%lu", (unsigned long)responseString.length);
NSLog(@"%lu", (unsigned long)success.length);}
は私のPHPスクリプトです:
<?php
header('Content-type: text/plain; charset=utf-8');
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "";
$mysql_database = "newmy";
$prefix = "";
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
mysql_query("SET NAMES UTF8");
mysql_select_db($mysql_database, $bd) or die("Could not select database");
$strdate = $_POST["date"];
$strphone = $_POST["phone"];
$stremail = $_POST["email"];
$straddress = $_POST["address"];
$strcontact = $_POST["contact"];
/*** Insert ***/
$strSQL = "INSERT INTO repairform (datedate,phone,email,address,contact)
VALUES (
'".$strdate."',
'".$strphone."',
'".$stremail."',
'".$straddress."',
'".$strcontact."'
)
";
$objQuery = mysql_query($strSQL);
$arr = null;
if(!$objQuery)
{
$arr["Status"] = "0";
$arr["Message"] = "Insert Data Failed";
}
else
{
$arr["Status"] = "1";
$arr["Message"] = "Insert Data Successfully";
}
echo json_encode($arr);
?>
を画像とデータをポストするために使用されている機能です警告**:PHPを学んでいるだけの方は、['mysql_query'](http://php.net/manual/en/function.mysql-query.php)インタフェースを使用しないでください。それはPHP 7で削除されたのでとてもひどいと危険です。[PDOのようなものは学ぶのが難しくない](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps -pdo-for-database-access /)と[PHP The Right Way](http://www.phptherightway.com/)のようなガイドがベストプラクティスを説明しています。あなたのユーザーパラメータは**適切にエスケープされていません**(http://bobby-tables.com/php)、悪用可能な[SQLインジェクションバグ](http://bobby-tables.com/)があります。 – tadman
あなたのリマインダーとコメントありがとう – user3472143