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>