文件上传(前端篇)

js,进行多个文件上传并获取文件base64,

1、html代码

<!DOCTYPE html>
<html>
  <head>
    <title>test</title>
    <script src="js/jquery-1.10.2.js"></script>
    <script src="js/new.js"></script>
  </head>
  <body>
       
  </body>
</html>

2、new.js

$( function () {
let input = "<input id='txtuploadFile'  type='file' multiple='multiple' />";
        if ($("#txtuploadFile").length === 0) {
            $("body").append(input);
            $('#txtuploadFile').change(function () {
			
			     if ($("#txtuploadFile").val() === '') {
                    return;
                }
				var filelist=[];
				var files =$('#txtuploadFile')[0].files;
				async function getFile() {
					for(var i=0;i<files.length;i++){
						let res = await getFileBase64(files[i]);
						filelist.push(res);
						/*
						let reader = new FileReader();
						reader.readAsDataURL(files[i]);
						reader.onload = await function (ev) { //文件读取成功完成时触发
							let dataURLOrigin = ev.target.result;
							
							filelist.push(dataURLOrigin);
						}
						*/
					}
					console.log(filelist);
					//此处可调用后端接口,把文件内容传给后台
					//xxxxxxxxxxxxxxxxxxxxxxxx
				}
				function getFileBase64(file) {
				    return new Promise(function (resolve, reject) {
					let reader = new FileReader();
					let imgResult = "";
					reader.readAsDataURL(file);
					reader.onload = function (ev) {
					  let dataURLOrigin = ev.target.result;
					  imgResult = dataURLOrigin;
					};
					reader.onerror = function (err) {
					  reject(err);
					};
					reader.onloadend = function () {
					  resolve(imgResult);
					};
				  });
				}
				getFile(); 
			})
		}
		
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值