ajax请求去获取base64_php如何获取ajax提交过来的经过base64处理后的图片
问 题
function onSelectPhoto(files) {
file_obj = files[0];
if (use_general_upload) {
return;
}
var filesize = file_obj.size < 5120 || file_obj.size > 5242880;
var allow_type = '|.jpg|jpeg|.png|.gif|';
var ext_name = '|' + file_obj.name.toLowerCase().substr(file_obj.name.length - 4) + '|';
var filetype = (allow_type.indexOf(ext_name) == -1 && file_obj.name.indexOf(".") > 0);
var reader = new FileReader();
reader.onload = function (e) {
if (e.target.result.substr(0, 11) == 'data:base64') {
$("#preview_img").attr('src',
"data:application/octet-stream;"
+ e.target.result.substr(e.target.result.indexOf("base64,")));
} else {
$("#preview_img").attr('src', e.target.result);
}
}
if (filesize) {
file_obj = false;
showTextTime("您选择的文件大于5MB,请选择小于5MB的照片", 3000);
return false;
}
if (filetype) {
file_obj = false;
showTextTime("您选择的文件格式有误,应为JPG、PNG或GIF类型的文件", 3000);
return false;
}
file_name = file_obj.name;
reader.readAsDataURL(file_obj); //
// alert(reader);
}
图片上传处理代码
function upload_photo() {
if (file_obj == false) {
showTextTime("请先从手机中选取要上传的照片", 2000);
return false;
}
if (uploading) {
showTextTime("照片正在上传中,请稍候...", 2000);
return false;
}
uploading = true;
showLoading(loading_src, "照片上传中...", 0);
if (use_general_upload) {
document.forms[0].submit();
} else {
var ui = $("#upload_ifr");
var ui = ui[0];
ui.contentWindow.upload_photo();
}
return false;
}
function upload_photo() {
var xhr = new XMLHttpRequest();
if (xhr.upload) {
xhr.onreadystatechange = function(e) {
window.top.callbackHandler(e, xhr);
};
xhr.upload.οnprοgress=function(e){
if(e.lengthComputable){
var percent =(e.loaded / e.total *100|0)+"%";
}
}
var formData = new FormData();
formData.append('files', window.top.file_obj);
// alert(formData);
xhr.open("POST", 'upload_file.php', true);
xhr.send(formData);
}
}
这里我应该怎么在upload_file.php获取到传递过来的formData
解决方案
`
$smeta = $_POST['smeta'];
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $smeta, $result)) {//base64上传
$data = base64_decode(str_replace($result[1], '', $smeta));
$dataname = './Uploads/' . uniqid() . '.' . $result[2];
if (file_put_contents($dataname, $data)) {
$this->ajaxoutput($dataname); //返回数据结构自行封装
}else{
$this->ajaxerror('上传出错');
}
}`
扫一扫关注IT屋
微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起
ajax请求去获取base64_php如何获取ajax提交过来的经过base64处理后的图片相关推荐
- 循环发ajax请求,在循环中发送jquery ajax请求
我在我的Web应用程序的Map中实现了"空间选择",它选择Streets的数量.选择后,我会为使用"选择处理程序"选择的所有街道获取唯一的街道标识.在循环中发送 ...
- php 判断是否是ajax请求,php实现判断是否为ajax请求的方法
这篇文章主要介绍了php判断是否为ajax请求的方法,结合实例形式分析了ajax请求的原理及后台针对ajax请求的判断技巧,需要的朋友可以参考下 先说前端使用 jQuery 时怎么区分: jQuery ...
- java 判断请求为 ajax请求_Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求...
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 java 判断请求是不是ajax请求,Java判断是否为ajax请求 >>>>>> ...
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求 Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 java 判断 ...
- base64编码后的图片如何获取它的宽和高
具体获取宽和高的方法: 前端传过来的是base64编码后的图片 具体代码如下:(不适合直接copy,可以简单看一下,很简单) public com.tfiir.srl.framework.Respon ...
- ajax请求到参数太大获取参数失败问题,Ajax请求参数较长导致请求失败
Ajax请求参数比较长,第5行参数大概1100个字符吧,是接口的请求报文. $.ajax({ type:"POST", url:"${ctx}/test.action?m ...
- ajax请求是什么?完整的Ajax请求步骤及get与post请求的区别
一.ajax的本质其实就是在HTTP协议的基础上以异步的方式与服务器进行通信. 二.ajax的常见的请求方法 : get .post.put .delete等 三.ajax请求的实现步骤: 创建XML ...
- 监控ajax请求的时间,找出完成Ajax请求所需的时间
繁星淼淼 由于javascript使用事件队列,因此无法提供准确的时间.这意味着您的程序可以这样执行:开始AJAX请求同时处理等待的鼠标单击事件/任何其他等待的代码行开始处理AJAX就绪响应不幸的是, ...
- ajax 请求_你了解前端出现Ajax跨域请求的原因吗?
ajax的跨域真正面目 作为一名前端开发人员,谈到Ajax几乎是无人不知无人不晓,每天都会跟Ajax打打交道,特别在如今提倡前后端分离的时代,更是相处甚多,使用过程中碰到最多的一个问题相信应该是请求跨 ...
最新文章
- [Manifest]关于sharedUserIdsharedUserLabel
- jquery load使用方法
- Page Ability 之间的跳转概念和应用分享
- 数据库-多条件查询-优先级
- linux内核支持的加密算法,Linux Kernel(Android) 加密算法总结(三)-应用程序调用内核加密算法接口...
- 疑似小米10超大杯入网:搭载骁龙865+/120Hz高刷屏加持
- java框架ssm面试题2016_Java面试-框架篇(SSM-SpringMVC)
- 【find】Linux中find常见用法示例
- coin3D三维仿真库源码下载
- 老男孩linux培训某节课前考试试题及答案分享 【转】
- 锐捷校园网环境下设置统信UOS(Linux)自动连接网络
- linux内核配置打开声卡,配置树莓派/Linux默认声卡设备
- 可以免费测试的短信验证码接口接入
- SPSS 25.0中文版安装教程【001期】
- 中国移动云能力中心IaaS产品部2021年招聘
- 安装Vue-cli并且创建项目
- java计算机毕业设计幼儿影视节目智能推荐系统源码+数据库+系统+lw文档+部署
- 常见食物在美式英语和英式英语中的不同表达
- SF14 | Supertrend“超级趋势线”指标魔改升级(源码)
- 开源自主导航小车MickX4(七)cartographer 室外3D建图