base64 php 图片上传,jQuery+PHP base64图片上传

1.把base64编码的图片转换为Blob对象

//base64编码转为Blob对象

dataURLtoFile = function(dataurl, filename) {

var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],

bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);

while(n--){

u8arr[n] = bstr.charCodeAt(n);

}

var theBlob = new Blob([u8arr], {type: mime });

theBlob.lastModifiedDate =new Date();

theBlob.name = filename;

return theBlob;

}

2.用ajax上传图片

var form = new FormData();

$('.list img').each(function(){

var filename = $(this).attr("alt");

if(filename != "copy"){

form.append('images[]',dataURLtoFile($(this).attr("src"), filename),filename);

}

});

$.ajax({

url: 'url',

async: true,

type: 'post',

data: form,

processData: false,

contentType: false,

success: function(data){

//TODO

}

});

3.PHP对请求进行处理

public function uploadImages(){

if(isset($_FILES["images"])){

$tmp_name = $_FILES["images"]["tmp_name"];

$name = $_FILES["images"]["name"];

for($i = 0;$i < count($tmp_name);$i++){

$fileinfo = pathinfo($name[$i]);

//文件后缀名

$fileext = strtolower($fileinfo["extension"]);

if ( $fileext != 'png' && $fileext != 'jpg' && $fileext != 'gif' && $fileext != 'jpeg' ){

continue;

}

if (!file_exists(IMAGE_TEMP_PATH)){

mkdir(IMAGE_TEMP_PATH, 0777, true);

}

move_uploaded_file($tmp_name[$i], IMAGE_TEMP_PATH.$name[$i]);

echo $_FILES["images"]["error"][$i];

}

}

}

标签:jQuery,tmp,name,base64,filename,fileext,images,new,PHP

来源: https://www.cnblogs.com/diehuacanmeng/p/13402784.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值