我正在将图像从手机库上传到我的数据库。我正在将图像的base64字符串发布到服务器。这是我的php代码。
<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'sample_userdata');
//connecting to database and getting the connection object
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if($conn)
{
$image=$_POST["image"];
$uploadpath="uploads/profilepic.jpg";
if(isset($image)){
if(file_put_contents($uploadpath,base64_decode($image))){
echo json_encode(array('response'=>'Image Uploaded successfully'));}
}else{
echo json_encode(array('response'=>'Image upload failed'));
}
}else{
echo json_encode(array('response'=>'Image upload failed 2'));}
mysqli_close($conn);
?>
图像已成功保存到uploads文件夹中,并且android logcat显示了响应
D /响应:{“响应”:“图像成功上传”}
但是包含代码的localhost / profilepic.php正在显示注意:
未定义索引:第13行上C:\ xampp \ htdocs \ profilepic.php中的图像 {“响应”:“图像上传失败”}
问题是什么,图像已成功存储在uploads文件夹中,android给出了成功消息,但localhost页面给出了错误。
答案 0 :(得分:0)
从浏览器localhost/profilepic.php
中访问URL是GET方法。该代码是通过POST请求排除图像。
您可以添加检查以验证请求,以避免出现此警告消息。
在文件顶部添加以下代码,以检查是否根据请求发送了图像
if( !isset($_POST["image"]) || empty($_POST["image"])
{
echo json_encode(array('response'=>'Image is required'));
exit();
}