美文网首页
拖拽预览和上传

拖拽预览和上传

作者: 苍老师的眼泪 | 来源:发表于2022-01-19 00:01 被阅读0次

在效果出来之后请务必检查同一个被拖拽的文件的内容修改之后,上传的文件是否也修改了

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="axios.min.js"></script>

</head>

<body>
    <img id="img" src="" alt="">
    <div name="image" id="dropbox" style="min-width:300px;min-height:200px;border:3px dashed silver;"></div>

    <script>
        // 目标元素中dragover和drop事件中要阻止默认行为(拒绝被拖放),否则拖放不能被实现
        dropbox.addEventListener("dragover", function (e) {
            e.preventDefault();
        });

        dropbox.addEventListener("drop", function (e) {
            e.preventDefault();

            let file = e.dataTransfer.files[0]

            console.log('文件类型是: ', file.type)

            let reader = new FileReader();
            
            reader.readAsDataURL(file);

            reader.onloadstart = function(e) {
                console.log(reader.result)
                console.log("开始加载")
            }
            
            reader.onprogress = function(e) {
                console.log(e.total)
            }

            reader.onload = function() {
                console.log(reader.result)
                img.src = reader.result
            }

            reader.onloadend = function(e) {
              if (reader.error) {
                console.log('加载失败: ', reader.error);
              } else {

                let form_data = new FormData()

                form_data.append('photo', file)

                //上传没有错误,ajax发送文件,上传二进制文件
                axios({
                    url: 'http://hostname/api/test',
                    method: 'post',
                    data: form_data
                
                }).then(res => {
                    console.log(res)
                })
              }
            }

        });  
    </script>

</body>

</html>
``

相关文章

网友评论

      本文标题:拖拽预览和上传

      本文链接:https://www.haomeiwen.com/subject/bbzkhrtx.html