繁体   English   中英

如何将base64映像发送到服务器-PHP

[英]How to send base64 image to server - PHP

我正在通过PHP文件从Android应用程序向服务器发送base64字符串。
我是从教学视频中得到的:

<?php
    require 'Init.php';
    header('Content-type : bitmap; charset=utf8');

    if(isset($_POST['encoded_string'])){

        $encoded_string = $_POST['encoded_string'];
        $image_name = $_POST['image_name'];

        $decoded_string = base64_decode($encoded_string);

        $path = 'ProfileIcons/' .$image_name;

        $file = fopen($path, 'wb');

        $is_written = fwrite($file, $decoded_string);
        fclose($file);
    }
?>

它会将图像存储在目录中,但是当您打开时,它没有图像。 这是一个空白png。 代码有问题吗? 如果是这样,我应该怎么用? 谢谢。

您应检查以下几点:

1.确保服务器已收到base64字符串

$ encoded_string = $ _POST ['encoded_string'];

检查$encoded_string的长度,该长度应与android客户端所说的长度相同。

  1. 确保解码正常

    $ decoded_string = base64_decode($ encoded_string);

检查$decoded_string的长度,不应为零或奇数。

  1. 确保文件写入正常

    $ is_write = fwrite($ file,$ decoded_string);

$is_written应该是已写入文件的数据长度,如果为false ,则说明有问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM