html - 发送 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():文件名不能为空
解决方案
推荐阅读
- c# - 在 MVC 中追加重复的 div 时不出现下拉列表
- python - 使用 PyInstaller 将 Cython 编译的模块和 python 代码构建为可执行二进制文件
- android - 根据方位旋转谷歌地图,中心有固定标记
- php - 文本区域中的双中继器克隆内容
- swift - 线程 1:致命错误:在展开可选值 (setupInputOutput) 时意外发现 nil
- javascript - 将存储在字符串中的数组转换为数组
- r - 将初始化转换为日期?
- excel - 如何从 Excel 生成一封电子邮件,其中考虑到选择了多少行
- android - netty-socketio:如何在应用程序最小化时保持 WebSocket 服务器处于活动状态
- flutter-layout - 应该使用什么来使文本小部件可点击?