用FileReader对象 上传图片

本文介绍了如何使用HTML和JavaScript的FileReader API实现图片上传功能,包括设置上传按钮样式,限制上传图片的类型和大小,并在上传前进行验证。当用户选择图片后,通过FileReader读取文件内容,将图片转为DataURL以便展示。同时,文章提到了删除图片时的注意事项,确保输入框的值清空,以便重新选择图片。
摘要由CSDN通过智能技术生成

应用场景 —— 上传图片

         原生的 input ,设置大小并把透明度设为0,其他样式自己设计就好

html,根据设计图自己设计即可

            <div >
              <span>
                <!-- 加号 ➕ -->
                <img src="@static/images/icon/add_img.png" />
              </span>
              <span>上传图片</span>
              <input @change="add_img" id="imgUpdateId" type="file" />
            </div>        

新增图片的方法,拿到file集合就可以获取图片的类型、名称、大小,做一些上传图片的限制了, 

    add_img(event) {
      var reader = new FileReader();
      var file = event.target.files[0];
      const isJPG =
        file.type == "image/jpeg" ||
        file.type == "image/png" ||
        file.type == "image/gif";
      const isLt2M = file.size / 1024 / 1024 < 2;
      if (!isJPG) {
        this.$message.error("上传头像图片只能是 JPG/PNG/GIF 格式!");
        return;
      }
      if (!isLt2M) {
        this.$message.error("上传头像图片大小不能超过 2MB!");
        return;
      }
      reader.readAsDataURL(file);
      var that = this;
      reader.onloadend = function() {
        that.fileLists.push(file); // 传参用 file集合
        that.imgs.push({ img_addr: reader.result }); //展示用
      };
    }

删除图片的时候要记得 document.getElementById("imgUpdateId").value = "" , 不然无法上传刚删除的那张图片

为了 更清楚的了解FileReader,打个断点进来看看 

获取文件信息

拿到图片信息

  • 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中,可以根据具体的业务需求,对上传的图片文件进行处理,例如保存到服务器的本地目录或者将图片数据保存到数据库中。处理完成后,可以返回一些结果信息给前端。 以上就是使用JavaScriptFileReader对象和Spring Boot框架的MultipartFile来实现图片上传的简单流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值