问 题

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. Hama笔记:Unable to load native-hadoop library 和 Snappy native library not loaded 的解决
  2. 软件开发架构介绍||OSI七层协议之物理层、数据链路层、网络层、传输层(mac地址、ip协议、断开协议、tcp协议之三次握手四次挥手)
  3. Java Zip压缩实现(亲测)
  4. lightning接口_Lightning太赚钱?iPhone永远不会用Type-C
  5. 线性分组码c语言实验报告,C语言线性分组码(附注释).doc
  6. maven设置socks代理
  7. python以追加方式打开文件 线程安全吗_多线程追加文件,不加锁,会出现什么情况 ?...
  8. mtk android工具包,MTK Android software Tools工具的说明
  9. 洛谷 1972 莫队
  10. NumPy Beginner's Guide 2e 带注释源码 四、NumPy 便利的函数
  11. 自学python要看哪些书-学习机器学习应该看哪些书籍?
  12. Django+MySQLDB配置
  13. adb小天才_ADB工具包2020年最新版下载-支持解锁新机BL调试ROOT等各种操作
  14. 《自然语言处理:基于预训练模型的方法》第七章 预训练语言模型-BERT
  15. html5实现对试题图片批改效果,类似盖章效果
  16. android studio systrace,android – Systrace输出错误
  17. AMS1117和LM2596S芯片的问题总结
  18. ubuntu下CHM阅读器
  19. oracle sql查数据是否有重复
  20. Mac—删除默认英文输入法

热门文章

  1. HDU 1878 欧拉回路(入门)
  2. BAT云平台之争:百度领先,阿里发力,腾讯落后
  3. C语言学习笔记——根据二叉树的后序和中序遍历序列,求这棵树的先序和层次遍历序列
  4. Python爬取B站排行榜前100视频信息!
  5. ITE EC代码解析1
  6. 题目:学生成绩管理系统设计(C语言程序设计期末作业)
  7. IMX6ULL裸机程序--4.时钟树分析
  8. 微信新出“一键拒收”功能!公众号主怎么办?
  9. 外贸鞋店瞄上中高端小区
  10. 风格迁移相关论文阅读笔记