基于HTML5 FileReader创建图片上传预览图

      哈哈哈今天和一个90后小哥学了一个缩略图的东东。。。。js搞定的。。。。

  代码如下


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>HTML5 FileReader</title>
</head>
<body>
<center>
<input type="file" id="file" οnchange="readAsDataURL()">
<div id="thumb"></div>

<script type="text/javascript">
    // 判断浏览器是否支持 FileReader
    if (typeof FileReader == 'undefined') {
        console.error('你的浏览器不支持FileReader属性');
    }

    var selector = document.getElementById('file');

    // 将文件读取为DataURL
    function readAsDataURL() {
        var file = selector.files[0];
        // 检测是否为图片类型
        if (!/image\/\w+/.test(file.type)) {
            console.error('选择的文件不是图片');
            return false;
        }

        var reader = new FileReader();

        // 注意,readAsDataURL 读取文件是没有返回值的
        reader.readAsDataURL(file);

        // 文件读取完毕执行
        reader.onload = function (data) {
            // 获取到文件路径
            var data_url = data.currentTarget.result;
            document.getElementById('thumb').innerHTML='<img src="'+data_url+'" width="100px" height="180px">';
        }
    }
</script>
</center>
</body>
</html>

小哥的博客网址为这个https://www.zrong.me/archives/139.html 。。。。

  • 2
    点赞
  • 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、付费专栏及课程。

余额充值