本文实例讲述了jQuery实现文件编码成base64并通过AJAX上传的方法。分享给大家供大家参考,具体如下:

使用AJAX是无法直接上传文件的,一般都是新建个iframe在它里面完成表单提交的过程以达到异步上传文件的效果。

如此做可以达到比较好的浏览器兼容性,不过代码量会比较大,即使是使用了文件上传插件,例如plupload。

如何能达到灵活的程度呢,能像普通的AJAX提交表单数据那样将文件看成是普通表单参数来对待就好了。

灵光一闪,利用javascript的文件编码成base64再传服务器不就行了么~

开始动手,丰衣足食。

前端对文件进行base64编码并通过ajax向服务器传输:

PHP',$(this).parent().serialize());">

后端对文件数据解码并保存:

PHP;">

PHP

if (isset($_POST['file_base64'])){

$file_base64 = $_POST['file_base64'];

$file_base64 = preg_replace('/data:.*;base64,/i','',$file_base64);

$file_base64 = base64_decode($file_base64);

file_put_contents('./file.save',$file_base64);

}

javascript里的FileReader对象主流浏览器都支持,IE10以上支持,私认为在为小范围提供服务时可以考虑这个异步上传文件的方式,省时又省力,兼容IE系列另当别论。

Reference:

PS:这里再推荐几款加密解密相关在线工具供大家参考使用:

线编码转换工具(utf-8/utf-32/Punycode/Base64):

BASE64

php ajax base64,jQuery实现文件编码成base64并通过AJAX上传的方法相关推荐

  1. 怎样把php文件改成固定大小,php修改上传文件大小限制的方法

    php修改上传文件大小限制的方法 发布时间:2020-07-02 09:09:51 来源:亿速云 阅读:97 作者:Leah 这篇文章将为大家详细讲解有关php修改上传文件大小限制的方法,文章内容质量 ...

  2. python将图片转换成二进制文本_python将图片文件转换成base64编码的方法

    本文实例讲述了python将图片文件转换成base64编码的方法.分享给大家供大家参考.具体实现方法如下: import base64f=open(r'c:\jb51.gif','rb') #二进制方 ...

  3. js将图片或者文件转成base64格式的两种方法

    场景一,项目assets资源里面的图片本地图片,重点如下 需要了解 canvas的基本操作,canvas.toDataURL 方法 HTMLCanvasElement.toDataURL() 方法返回 ...

  4. .NET中将图片文件流转成Base64字符串的实现

    不太好意思啊,这篇随笔有点短,因工作上需要用WCF调用有一个别的语言开发的服务接口!而涉及到图片传输的部分只让传Base64字符串. 所以下面简短的代码即可用于将客户浏览器上传过来的图片文件转换成Ba ...

  5. HM-16.0编码过程:将YUV文件编码成HEVC格式的码流

    HM-16.0编码:将YUV文件编码成HEVC格式的码流 注: 1   为了快速优化运行(不调程序的时候),可以将程序的版本设为"release",否则还是设为"debu ...

  6. php实现wav转mp3,php实现将wav文件转换成图像文件并在页面中显示的方法

    本文实例讲述了php实现将wav文件转换成图像文件并在页面中显示的方法.分享给大家供大家参考.具体分析如下: 需求:将wav文件转换成png文件并且显示出来. Wav_To_Png.php: func ...

  7. 如何将pdf转换成html,怎么把PDF文件转换成HTML?PDF转HTML的最佳方法是什么?

    原标题:怎么把PDF文件转换成HTML?PDF转HTML的最佳方法是什么? HTML是常见的网页格式.很多程序员在建站时为了省时省力往往直接在网上下载通用的HTML模板.HTML都是PDF格式文件,如 ...

  8. tp5.1 乐视云上传视频文件(https请求http乐视云上传接口)http网址下上传视频(https API接口)

    一.sdk_php_v2.0.zip 上传视频 网址:http://www.lecloud.com/zh-cn/help/api.html tp5.1 乐视云上传视频文件(https请求http乐视云 ...

  9. 大文件分片上传前端框架_js实现大文件分片上传的方法

    文件夹上传:从前端到后端 文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠.网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹. ...

最新文章

  1. python父类的类成员怎么定义_python如何找到哪些父类定义子对象的方法
  2. Spring 中基于 AOP 的 XML操作方式
  3. 3.Contructor(构造器)模式—精读《JavaScript 设计模式》Addy Osmani著
  4. 如何不用BPM配置时间
  5. VS2017设置C++标准
  6. 基于python-scrapy框架的爬虫系统
  7. LabelImg安装
  8. 服务器虚拟化分步实施,服务器虚拟化解决实施方案.doc
  9. PPT图片虚化效果要怎样实现?
  10. 如何把JPG图片转换成Word文字?
  11. python弹球游戏添加一个球_Python实现的弹球小游戏示例
  12. P3324 [SDOI2015]星际战争(洛谷刷题记录)
  13. 使用Vue制作幻灯片
  14. 使用matplotlib在图片上画框框
  15. vmware安装打印机(win10)
  16. 如何在九酷·轻音乐上下载MP3格式的音乐素材?
  17. DM数据库基本操作命令
  18. QCOM 9008刷机
  19. c#怎么调用oracle存储过程,C#调用Oracle存储过程的方法
  20. c语言中 amp 是什么意思6,c语言中amp;amp;NBSP是什么意思

热门文章

  1. Codeforces 1189B Number Circle
  2. base64和hex
  3. C# 使用Epplus导出Excel [4]:合并指定行
  4. 使用mybatis插入数据(insert)时返回主键的问题
  5. 201671010130 2016-2017-2 《Java程序设计》第五周学习小结
  6. Hibernate架构
  7. 重构16-Encapsulate Conditional(封装条件)
  8. 《机器学习实战》学习笔记
  9. AOP 拦截器 JDK动态代理机制 struts2 mybatis spring-aop
  10. Centos7中安装zookeeper3.7.0_找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeer---zookeeper工作笔记003