gpt4 book ai didi

java - 使用php将base64图像从android上传到服务器时出错

转载 作者:行者123 更新时间:2023-11-29 17:21:41 25 4
gpt4 key购买 nike

我正在将图像从手机图库上传到我的数据库。我将图像的 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);
?>

图像已成功保存在上传文件夹中,并且 android logcat 正在显示响应

D/Response: {"response":"Image Uploaded successfully"}

但是包含代码的 localhost/profilepic.php 显示注意:

Undefined index: image in C:\xampp\htdocs\profilepic.php on line 13 {"response":"Image upload failed"}

问题是什么,图像已成功存储在上传文件夹中,android 给出成功消息,但本地主机页面给出错误。

最佳答案

从浏览器中点击 URL localhost/profilepic.php 是 GET 方法。该代码通过 POST 请求排除图像。

您可以添加检查来验证请求以避免出现此警告消息。

在文件顶部添加以下代码以检查图像是否随请求发送

if( !isset($_POST["image"]) || empty($_POST["image"])
{
echo json_encode(array('response'=>'Image is required'));
exit();
}

关于java - 使用php将base64图像从android上传到服务器时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51215138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com