首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ionic和php之间使用application/x-www-form-urlencoded

在ionic和php之间使用application/x-www-form-urlencoded
EN

Stack Overflow用户
提问于 2018-06-17 01:23:15
回答 2查看 447关注 0票数 0

我正在创建一个离子应用程序,我正在使用PHP服务器将用我的移动设备拍摄的照片上传到我的服务器上。我使用的PHP已经是用prod开发的,在我的web版本上没有任何问题,但是当我尝试使用相同的POST请求时,我遇到了问题。

我的离子代码:

代码语言:javascript
运行
复制
upload_image():Observable<any>{
    //This is not the complete string.
    let _image64 = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABALDA4MChAODQ4SERATGC";
    let params = `image64_str=${_image64}`;
    let headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');
    let httpOptions = {headers};
    return this.http.post<any>("http://API_URL",params,httpOptions);
}

我的PHP代码:

代码语言:javascript
运行
复制
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true");
header('Content-type: application/x-www-form-urlencoded');
$strimg = $_POST['image_str64'];
$image_str = substr($strimg ,strpos($strimg , ',')+1); //To avoid "data:image/jpeg;base64," from the 64string
$data = base64_decode($image_str);
//
//rest of code to check the format, directory and so one.
//

问题是,当我从我的离子函数调用这个API时,我得到了以下错误:

代码语言:javascript
运行
复制
<b>Warning</b>:  imagecreatefromstring(): gd-jpeg: JPEG library reports unrecoverable error:  in <b>/API/test.php</b> on line <b>57</b>
<b>Warning</b>:  imagecreatefromstring(): Passed data is not in 'JPEG' format in <b>/API/test.php</b> on line <b>57</b>
<b>Warning</b>:  imagecreatefromstring(): Couldn't create GD Image Stream out of Data in <b>/API/test.php</b> on line <b>57</b>

“有趣的一点”是,如果我将来自离子应用程序的相同字符串base64Data“硬编码”到我的PHP文件中,则上传工作没有任何问题。此外,我还检查了从我的Ionic应用程序发送的字符串是否与我通过$_POST‘’varialbe‘选项接收到的PHP文件中的文本完全相同。

如果我的头/函数中有任何错误,或者我是否应该尝试使用其他方式上传我的文件,您能告诉我吗?

提前谢谢你

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50890094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档