问 题

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处理后的图片相关推荐

  1. 循环发ajax请求,在循环中发送jquery ajax请求

    我在我的Web应用程序的Map中实现了"空间选择",它选择Streets的数量.选择后,我会为使用"选择处理程序"选择的所有街道获取唯一的街道标识.在循环中发送 ...

  2. php 判断是否是ajax请求,php实现判断是否为ajax请求的方法

    这篇文章主要介绍了php判断是否为ajax请求的方法,结合实例形式分析了ajax请求的原理及后台针对ajax请求的判断技巧,需要的朋友可以参考下 先说前端使用 jQuery 时怎么区分: jQuery ...

  3. java 判断请求为 ajax请求_Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求...

    Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 java 判断请求是不是ajax请求,Java判断是否为ajax请求 >>>>>> ...

  4. Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求

    Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求 Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 java 判断 ...

  5. base64编码后的图片如何获取它的宽和高

    具体获取宽和高的方法: 前端传过来的是base64编码后的图片 具体代码如下:(不适合直接copy,可以简单看一下,很简单) public com.tfiir.srl.framework.Respon ...

  6. ajax请求到参数太大获取参数失败问题,Ajax请求参数较长导致请求失败

    Ajax请求参数比较长,第5行参数大概1100个字符吧,是接口的请求报文. $.ajax({ type:"POST", url:"${ctx}/test.action?m ...

  7. ajax请求是什么?完整的Ajax请求步骤及get与post请求的区别

    一.ajax的本质其实就是在HTTP协议的基础上以异步的方式与服务器进行通信. 二.ajax的常见的请求方法 : get .post.put .delete等 三.ajax请求的实现步骤: 创建XML ...

  8. 监控ajax请求的时间,找出完成Ajax请求所需的时间

    繁星淼淼 由于javascript使用事件队列,因此无法提供准确的时间.这意味着您的程序可以这样执行:开始AJAX请求同时处理等待的鼠标单击事件/任何其他等待的代码行开始处理AJAX就绪响应不幸的是, ...

  9. ajax 请求_你了解前端出现Ajax跨域请求的原因吗?

    ajax的跨域真正面目 作为一名前端开发人员,谈到Ajax几乎是无人不知无人不晓,每天都会跟Ajax打打交道,特别在如今提倡前后端分离的时代,更是相处甚多,使用过程中碰到最多的一个问题相信应该是请求跨 ...

最新文章

  1. [Manifest]关于sharedUserIdsharedUserLabel
  2. jquery load使用方法
  3. Page Ability 之间的跳转概念和应用分享
  4. 数据库-多条件查询-优先级
  5. linux内核支持的加密算法,Linux Kernel(Android) 加密算法总结(三)-应用程序调用内核加密算法接口...
  6. 疑似小米10超大杯入网:搭载骁龙865+/120Hz高刷屏加持
  7. java框架ssm面试题2016_Java面试-框架篇(SSM-SpringMVC)
  8. 【find】Linux中find常见用法示例
  9. coin3D三维仿真库源码下载
  10. 老男孩linux培训某节课前考试试题及答案分享 【转】
  11. 锐捷校园网环境下设置统信UOS(Linux)自动连接网络
  12. linux内核配置打开声卡,配置树莓派/Linux默认声卡设备
  13. 可以免费测试的短信验证码接口接入
  14. SPSS 25.0中文版安装教程【001期】
  15. 中国移动云能力中心IaaS产品部2021年招聘
  16. 安装Vue-cli并且创建项目
  17. java计算机毕业设计幼儿影视节目智能推荐系统源码+数据库+系统+lw文档+部署
  18. 常见食物在美式英语和英式英语中的不同表达
  19. SF14 | Supertrend“超级趋势线”指标魔改升级(源码)
  20. 开源自主导航小车MickX4(七)cartographer 室外3D建图

热门文章

  1. 高光谱学习---正交子空间投影法OSP(Orthogonal Subspace Projection)
  2. JS中什么是DOM和BOM
  3. VB计算一年中某一天在这一年中是第几周
  4. python安装第三方插件出现的错误
  5. 如何安装类Excel开发工具的服务器软件?
  6. Unity学生作业:太阳地球月亮自转和公转
  7. cheer ,on the way to linux
  8. A5000 VS 3090,谁更强?
  9. 【操作系统-进程】PV操作——吸烟者问题
  10. 数蚁的校园云存储优势 云资源管理平台 数蚁科技