Flutter中使用PHP上传图片

7lrncoxx  于 2023-04-19  发布在  PHP
关注(0)|答案(1)|浏览(137)

我已经创建了一个应用程序在Flutter,使用SQL数据库,我使用PHP作为我的服务器端语言从应用程序上传数据到SQL服务器.但有一个问题,当涉及到图像的上传,图像正在上传,但在只显示 *0字节 *
PHP代码:

$profdir = 'Mobile-profile-img/';
$fileName = $profileCode . '.jpg';
file_put_contents($profdir.$fileName, base64_decode($profileimg));

$profimgurl = "https://e4psmap.com/Mobile-app/$profdir$fileName";

Flutter代码:

try{
  final profimage = File(image);
  final housimage = File(himage);

  String proftobase64 = base64Encode(await profimage.readAsBytes());
  String housetobase64 = base64Encode(await housimage.readAsBytes());

  String urls = api_config.sync_profile;
  var res = await http.post(Uri.parse(urls), headers: {"Accept":"application/json"},
      body:{
        "hh_id": id,
        "prof_image":proftobase64,
        ... etc.
 });
      var auth = jsonDecode(res.body);
      return auth;

它发送base64,base64图像将在PHP中解码
image of the files

qacovj5a

qacovj5a1#

您可以尝试检查“Mobile-profile-img”目录上的权限,并确保Web服务器对其具有写访问权限。
您还可以尝试打印出“$fileName”的值,以确保其设置正确。
如果这两种方法都不起作用,您可以尝试通过添加一些调试语句来调试PHP代码,以打印出'$profdir','$fileName'的内容。
此外,您可以尝试使用以下命令或类似命令检查PHP服务器错误日志:
tail -n 50/var/log/apache2/error.log

相关问题