JQuery File上传 ajax获取Base64 Base64转File

HTML中不存在form表单 ,单纯ajax获取上传文件

<input type="file" id='image' name="image" accept="image/*" capture='camera' onchange="uploadImg(event)" >
//获取文件Base64
 function uploadImg(e){
     console.info(e.target.files[0]);//图片文件
     var dom =$("input[id^='image']")[0];
     console.info(dom.value);//这个是文件的路径 C:\fakepath\icon (5).png
     console.log(e.target.value);//这个也是文件的路径和上面的dom.value是一样的
     var reader = new FileReader();
         reader.onload = (function (file) {
             return function (e) {
            	 var baseurl = this.result;
            	 console.info("base64="+baseurl); //这个就是base64的数据了
            	 
            	 /*   var sss=$("#showImage");
            	  $("#showImage")[0].src=this.result; */
             };
        })(e.target.files[0]);
      reader.readAsDataURL(e.target.files[0]);
 }

jquery BAE64转File文件

//dataurl  base64地址   
//filename 上传文件名(需含扩展名)
function dataURLtoFile(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);
	  }
	 return new File([u8arr], filename, {type:mime});
}

引入JS文件,如果有需要,请百度搜索下载

<script type="text/javascript" src="js/base64.js?v=2018112801"></script>
<script type="text/javascript" src="js/crypto1/crypto/crypto.js"></script>
<script type="text/javascript" src="js/crypto1/hmac/hmac.js"></script>
<script type="text/javascript" src="js/crypto1/sha1/sha1.js"></script>

猜你喜欢

转载自blog.csdn.net/lanqibaoer/article/details/91959484
今日推荐