js实现图片上传预览功能,使用base64编码来实现

实现图片上传的方法有很多,这里我们介绍比较简单的一种,使用base64对图片信息进行编码,然后直接将图片的base64信息存到数据库。

但是对于系统中需要上传的图片较多时并不建议采用这种方式,我们一般会选择存图片路径的方式,这样有助于减小数据库压力,base64

编码后的图片信息是一个很长的字符串,一般我们使用longText类型来将其存入数据库。

html代码如下:

<div class="col-sm-6">
  <img id="headPortraitImgShow" src="img/defaultHeadPoint.jpg" alt="" width="160px" height="180px" />
  <input type="file" id="headPortraitUpload" style="margin-top:10px;">
</div>

javaScript代码如下:

$("#headPortraitUpload").on("change",headPortraitListener);

/*定义全局变量存贮图片信息*/
 var base64head="";

/*头像上传监听*/
function headPortraitListener(e) {
    var img = document.getElementById(‘headPortraitImgShow‘);
      if(window.FileReader) {
          var file  = e.target.files[0];
          var reader = new FileReader();
          if (file && file.type.match(‘image.*‘)) {
              reader.readAsDataURL(file);
          } else {
              img.css(‘display‘, ‘none‘);
              img.attr(‘src‘, ‘‘);
          }
          reader.onloadend = function (e) {
          img.setAttribute(‘src‘, reader.result);
          base64head = reader.result;
        }
      }
}

效果预览:默认图片-----》效果图

      

最后,将base64head提交到后台存入数据库即可,下次从数据库取出直接将该base64信息放到img标签的src里面图片就回显出来了

时间: 2024-08-26 05:07:12

js实现图片上传预览功能,使用base64编码来实现的相关文章

js实现图片上传预览功能,使用base64编码来实现

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <style type="text/css"> #preview, .img, img { width: 200px; height: 200px; } #preview { border:

多图片上传预览功能

//下面用于多图片上传预览功能 function setImagePreviews(avalue) { var docObj = document.getElementById("doc"); var dd = document.getElementById("dd"); dd.innerHTML = ""; var fileList = docObj.files; for (var i = 0; i < fileList.length;

JS实现图片上传预览效果:方法一

<script type="text/javascript"> //处理file input加载的图片文件 $(document).ready(function(e) { //判断浏览器是否有FileReader接口 if(typeof FileReader =='undefined') { /*$("#images_show").css({'background':'none'}).html('亲,您的浏览器还不支持HTML5的FileReader接口

移动端 js 实现图片上传 预览

方法一: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>测试页面</title> <script type="text/javascript"> /

图片上传预览功能实现

图片预览功能是在网站开发中非常常见的,以前图片预览是一个很简单的功能,只需要JS获得一下上传的路径,然后将路径设置为某一个img标签的src就可以了,但是现在很多浏览器出现安全方面的考虑,都不允许直接获得文件的路径,通过file的value值获得的路径都是带有fakepath,所以获得路径就变得困难,但是H5之后,可以通过JS的fileReader来实现文件的预览:代码如下: JS处理代码: <script type="text/javascript"> document.

js实现图片上传预览原理

现在网上有很多成熟的图片上传的插件,由于之前对于图片上传未接触过,不了解其实现原理.网上查阅了相关资料,了解到其是基于FileReader Api. 众所周知,大家平时做兼容性都是为了兼容低版本浏览器,图片上传则恰恰相反.基于浏览器的安全策略,file标签在现代浏览器中已经获取不到真实路径.恰恰相反,低版本ie却能获取到真实物理路径.所以此功能是基于现代浏览器的解决方案. FileReader就是html5为我们提供的读取文件的api.它的作用就是把文本流按指定格式读取到缓存,以供js调用. F

图片上传预览功能

function PreviewImage(imgFile,key,key1,key2) { var filextension=imgFile.value.substring(imgFile.value.lastIndexOf("."),imgFile.value.length); filextension=filextension.toLowerCase(); if ((filextension!='.jpg')&&(filextension!='.gif')&

js:s上次预览,上传图片预览,图片上传预览

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

js前端实现多图图片上传预览

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>测试页面</title> <script type="text/javascript"> //下面用于