FileReader多图片上传

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8">
    <title> 上传多张图片</title>
    <style type="text/css">
        .img-div{
            float: left;
            line-height: 1;
            margin-left: 5px;
            overflow: hidden;
        }

    </style>
</head>
<body>
<script src="jquery-2.0.3.min.js"></script>
<script type="text/javascript">
    //选择图片,马上预览  
    function xmTanUploadImg(obj) {

        var fl=obj.files.length;
        for(var i=0;i<fl;i++){
            var file=obj.files[i];
//            判断图片
            if(!/image\/\w+/.test(file.type)){
                alert('请上传图片!');
                return false;
            }
            var reader = new FileReader();
            //读取文件过程方法
            reader.onerror = function (e) {
                console.log("读取异常....");
            }
            reader.onload = function (e) {
                var imgstr='<img style="width:100px;height:100px;" src="'+e.target.result+'"/>';
                var oimgbox=document.getElementById("imgboxid");
                var ndiv=document.createElement("div");//创建div节点

                //限制上传的图片数
                var a=$('#imgboxid>div').length;
                if(a<5){
                    ndiv.innerHTML=imgstr;
                    ndiv.className="img-div";
                    oimgbox.appendChild(ndiv);
                }else{
                    alert('最多5张图片');
                }
            }
            reader.readAsDataURL(file);
        }

    }
</script>
    <input type="file" id="xdaTanFileImg"  multiple="multiple"  name="fileAttach" onchange="xmTanUploadImg(this)"/>
    <!--图片显示位置-->
    <div class="img-box" id="imgboxid">
    </div>
</body>  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
利用JavaScript中的FileReader对象可以实现在浏览器中读取本地文件的功能。而在后端可以使用Spring Boot框架的MultipartFile来接收上传的文件。 首先,在前端页面的js文件中,可以创建一个FileReader对象来读取用户选择的图片文件: ```javascript // 前端页面 const fileInput = document.getElementById('fileInput'); const reader = new FileReader(); fileInput.addEventListener('change', function(event) { const file = event.target.files[0]; reader.readAsDataURL(file); }); reader.onload = function(event) { const base64String = event.target.result; // 将base64格式的图片数据发送到后端 // 发送请求的代码 } ``` 当用户选择了图片文件,并触发change事件后,FileReader会读取图片文件的内容,并将其转换为base64编码的字符串。该字符串可以通过发送请求将图片数据传递给后端。 接下来,在后端的Controller中,可以使用@RequestParam注解来声明一个MultipartFile类型的参数,用于接收前端传递过来的图片文件: ```java // 后端Controller @RestController public class UploadController { @PostMapping("/upload") public String uploadImage(@RequestParam("file") MultipartFile file) { // 处理上传图片文件 // 返回结果 } } ``` 注意,在上述代码中,@PostMapping注解用于指定请求路径,@RequestParam注解用于声明接收的文件参数名。 在Controller中,可以根据具体的业务需求,对上传图片文件进行处理,例如保存到服务器的本地目录或者将图片数据保存到数据库中。处理完成后,可以返回一些结果信息给前端。 以上就是使用JavaScript的FileReader对象和Spring Boot框架的MultipartFile来实现图片上传的简单流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值