js获取base64格式图片预览上传并用php保存到本地服务器指定文件夹

时间:2023-03-09 12:46:22
js获取base64格式图片预览上传并用php保存到本地服务器指定文件夹

html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body> <input id="load" type="file" onchange="upload(this.files)" name="myfile"/>
<div id="dd"></div> <script src="jquery-1.9.1.min.js"></script>
<script> function upload(f){ var str = "";
var imgtype="";
var gs=$("#load").val(); //获取图片url
var src=""; imgtype = gs.toLowerCase().split('.');//截取图片格式 png,jpg,是一个数组
imgtype =imgtype[1];//选取 for(var i=0;i<f.length;i++){ var reader = new FileReader();
reader.readAsDataURL(f[i]); reader.onload = function(e){
src=e.target.result;//base64图片 str+="<img src='"+e.target.result+"'/>";
$("#dd").html(str); //预览图片 $.ajax({ url:"chul.php",
type:"post",
data:{
src:src,
imgtype:imgtype
},
success:function(data){
console.log(data)
} }) }
} } </script>
</body>
</html>

php:

<?php
header('Content-type:text/html;charset=utf-8');
//转换base64图片 必须手动建一个img文件夹
define('UPLOAD_DIR', 'img/');
$img = $_POST['src'];
$imgtype=$_POST["imgtype"]; //判断图片格式类型
if($imgtype=="png"){ $img = str_replace('data:image/png;base64,', '', $img);
} if($imgtype=="jpg"){ $img = str_replace('data:image/jpeg;base64,', '', $img);
} $img = str_replace(' ', '+', $img);
$data = base64_decode($img); //判断图片格式类型
if($imgtype=="png"){
$imgurl = UPLOAD_DIR . uniqid(). '.png'; } if($imgtype=="jpg"){
$imgurl = UPLOAD_DIR . uniqid(). '.jpg'; } echo $img;
//把图片写入文件中
$success = file_put_contents($imgurl, $data);
?>