zoukankan      html  css  js  c++  java
  • 文件上传及图片显示

    客户端:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            .box {
                 800px;
            }
            
            .box img {
                 100%;
            }
            
            .fbar {
                 800px;
                height: 20px;
                border: 1px solid #ccc;
                border-radius: 5px;
                overflow: hidden;
            }
            
            .bar {
                 0%;
                background-color: blue;
                text-align: center;
                line-height: 20px;
            }
        </style>
    </head>
    
    <body>
        <form id="form">
            <input type="file" name="" id="file">
            <div class="box" id="box">
    
            </div>
            <div class="fbar" id="fbar">
                <div class="bar" id="bar">0%</div>
            </div>
        </form>
    
        <script>
            var form = document.getElementById('form')
            var file = document.getElementById('file')
            var bar = document.getElementById('bar')
            var box = document.getElementById("box")
            file.onchange = function() {
                var formData = new FormData();
                formData.append('attrName', this.files[0])
                var xhr = new XMLHttpRequest();
                xhr.open('post', 'http://localhost:3001/upload');
                xhr.upload.onprogress = function(ev) {
                    var result = ev.loaded / ev.total * 100;
                    result = result.toFixed(2) + '%'
                    bar.innerHTML = result
                    bar.style.width = result
                }
                xhr.send(formData);
                xhr.onload = function() {
                    var response = JSON.parse(xhr.responseText)
                    var img = document.createElement('img')
                    img.src = response.path
                    img.onload = function() {
                        box.appendChild(img)
                    }
                }
            }
        </script>
    
    </body>
    
    </html>
    

      

    服务端

    app.post('/upload', (req, res) => {
        const form = new formidable.IncomingForm()
        form.uploadDir = path.join(__dirname, 'public', 'uploads')
        form.keepExtensions = true
        form.parse(req, (err, fields, files) => {
            res.send({ path: files.attrName.path.split('public')[1] })
        })
    })
    

      

  • 相关阅读:
    Linux内核中的信号机制--一个简单的例子【转】
    国际C语言混乱代码大赛代码赏析(一)【转】
    宏内核与微内核【转】
    Linux内核USB驱动【转】
    USB驱动开发大全【转】
    Linux驱动程序学习【转】
    GPIO口及中断API函数【转】
    Linux的fasync驱动异步通知详解【转】
    request_irq() | 注册中断服务函数【转】
    混杂设备动态次设备号分析【转】
  • 原文地址:https://www.cnblogs.com/rainbowupdate/p/13055031.html
Copyright © 2011-2022 走看看