本文目录一览:
- 1、如何把src为base64格式的img上传到服务器
- 2、怎样把图片插入到数据库中 php
- 3、php后台怎么将二进制存储的图片传送给前端
- 4、php图片保存到数据库
- 5、php 图片流 转为base64
- 6、php隐藏图片真实地址代码??
如何把src为base64格式的img上传到服务器
我也正在做,一起研究吧
$.post("/unifiedtool/uploadProductImg", { "img": “data:image/png;base64,...
”},function(ret){
if(ret.img!=""){
img.src = ret;
}else{
alert("upload fail");
}
});
服务器那边
String imgString =request.getParameter("img");
UserBean user = (UserBean)request.getSession().getAttribute("user") ;
String language_id = request.getParameter("language_id");
//对字节数组字符串进行Base64解码并生成图片
if (imgString == null) //图像数据为空
return "img error";
imgString = imgString.substring(imgString.indexOf(",")+1, imgString.length());
String imgFilePath = "";
BASE64Decoder decoder = new BASE64Decoder();
try
{
//Base64解码
byte[] b = decoder.decodeBuffer(imgString);
for(int i=0;ib.length;++i)
{
if(b[i]0)
{//调整异常数据
b[i]+=256;
}
}
//生成jpeg图片
File newPath = new File(request.getSession().getServletContext().getRealPath("/")+"download/"+user.getUserid()+"/product/"+language_id+"/0");-phpimgsrcbase64
if(!newPath.exists()){
newPath.mkdirs();
imgFilePath = "1.jpg";
}else{
if(newPath.list().length 0){
imgFilePath = (newPath.list().length+1)+".jpg";
}else{
imgFilePath = "1.jpg";
}
}
//String imgFilePath = "d:\\1111.jpg";//新生成的图片
OutputStream out = new FileOutputStream(newPath+"/"+imgFilePath);
out.write(b);
out.flush();
out.close();
}
catch (Exception e)
{
return "img error";
}
return "/download/"+user.getUserid()+"/product/"+language_id+"/0/"+imgFilePath;
ok
怎样把图片插入到数据库中 php
保存图片到数据库做什么?保存到本地使用起来也方便,真要保存通过base64字符串保存。
?php
header('Content-type:text/html;charset=utf-8');
//读取图片文件,转换成base64编码格式
$image_file = './image123.jpg';
$image_info = getimagesize($image_file);
$base64_image_content = "data:{$image_info['mime']};base64," . chunk_split(base64_encode(file_get_contents($image_file)));-phpimgsrcbase64
// $base64_image_content 输入到数据库
//保存base64字符串为图片
//匹配出图片的格式
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
$type = $result[2];
$new_file = "./test.{$type}";
if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){-phpimgsrcbase64
echo '新文件保存成功:', $new_file;
}
}
?
img src="?php echo $base64_image_content;?" /
php后台怎么将二进制存储的图片传送给前端
一般是直接提供资源的链接,他们使用即可。
二进制数据可以通过base64处理后传过去。
浏览器里可以通过 img src="data:image/jpeg;base64,XXX"直接显示图片,
XXX表示图片内容base64_encode后的结果
php图片保存到数据库
1.图片转换 将上传的图片读取到一个字符串中,再用base64对数据进行编码 $img =base64_encode(file_get_contents($_FILES['file_head']['tmp...-phpimgsrcbase64
2.显示图片 imgsrc="{$base64String}" 这样就能把图片显示出来了
php 图片流 转为base64
使用PHP对图片进行base64解码输出
?php
$img = 'test.jpg';
$base64_img = base64EncodeImage($img);
echo 'img src="' . $base64_img . '" /';
function base64EncodeImage ($image_file) {
$base64_image = '';
$image_info = getimagesize($image_file);
$image_data = fread(fopen($image_file, 'r'), filesize($image_file));
$base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));-phpimgsrcbase64
return $base64_image;
}
?
php隐藏图片真实地址代码??
/*图片转换为 base64格式编码*/
$img = 'uploads/01.png';
$base64_img = base64EncodeImage($img);
echo 'img src="' . $base64_img . '" /';
function base64EncodeImage ($image_file) {
$base64_image = '';
$image_info = getimagesize($image_file);
$image_data = fread(fopen($image_file, 'r'), filesize($image_file));
$base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));-phpimgsrcbase64
return $base64_image;
}
你可以把图片内容转为base64的,这样就不会图片的地址了,但是页面体积会变大,
img src="base64之后的值 /