html5的ajax上传图片,html5标准Ajax上传图片

html5标准经过几年的发展,主流浏览器都支持的比较完美了,比如chrome,Firefox,opera以及使用webkit浏览器内核的国产浏览器.

html5标准里添加了许多新的特性,比如js的FileReader接口,可以读取客户端文件的内容,还支持了CSS3标准.

正如标题上所述的功能正是用到了JS的FileReader这个接口来实现Ajax上传图片的功能.

先说一下实现的思路:1.先通过JS的FileReader接口将图片内容读取成Base64加密的字符串;2.通过Ajax将读取到的图片内容Base64加密的字符串提交到服务器;3.通过PHP先将加密字符串剔除掉base64的头,再将处理后的Base64加密的字符串用base64_decode解析加密的字符串,最后使用file_put_contents($filename,$data)生成图片文件;

1.先贴上js读取图片数据的代码:

1244943253787234304.htm

未选择图片的样子:

e6b28d46e526115df8dc2040882a9b0a.png

QQ截图20170228141009.png

选择图片后的样子:

Paste_Image.png

PS:注意红色选择框的数据,这个就是需要传到后台的图片加密的数据

2.通过ajax将图片数据提交到后台:

$("#ajax_upload").click(function(){

var img_data = $("#img_data").val();

if(img_data == ""){

return ;

}

$.post("",{img_data:img_data},function(res){

});

});

PS:对数据的处理可以在提交数据之前,也可以在服务器上进行处理.

3.当后台接受到数据,对这个图片加密数据进行处理,这里我就拿PHP代码做个实例:

好了,这就是Ajax上传图片的一种思路,不兼容低版本的浏览器,不过在移动端是个不错的选择,因为移动浏览器都是支持h5的标准的,这个上传图片完全没有用涉及任何插件,所以还是比较轻便的方法.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值