首页 > 解决方案 > 发送 API 数据和图像,但始终为空

问题描述

我正在尝试使用 Slim 3、PHP 7 和 JQuery 2.1.1 将用户图片发送到我的 api 但是当我在 HTML 页面中调用 api 时,我在 Apache 日志中遇到了几个错误,似乎数据参数是空的,我没有知道为什么。有人可以帮忙吗?

-------HTML source code api call
function savePicture(){
      
  var fID = $('#edtIDUser').val();
  var fPicture = document.getElementById('img').src;
         
  $.ajax({
    type:"POST",
    cache:false,
    url:"index.php/user_picture/",
    timeout:3000,
    contentType:"application/json; charset=utf-8",        
    data:{'id_user': fID, 'picture': fPicture},
    dataType:"text",
    async:false,
    error: function (request, error) {          
      alert("error");
    },
    success: function (result) {
      alert("ok");
    }
  });

}

和 API

----API source code 
    $app->post('/user_picture/',  function(Request $request, Response $response) {
    
    $params = $request->getParsedBody();
    
    $iduser = $params['id_user'];
    
    $uploadedFile = $request->getUploadedFiles();
    $img = $uploadedFile['picture'];    

    $data               = file_get_contents($img);
    $escaped            = bin2hex($data);

    //TO-DO
}

错误 #1:尝试访问 $params['id_user'] 中 null 类型值的数组偏移量 错误 #2:未定义索引 'picture' 错误 #3:file_get_contents():文件名不能为空

标签: htmlajaxapislim

解决方案


推荐阅读