zoukankan      html  css  js  c++  java
  • [javascript]multipart/form-data上传格式表单自定义创建

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>
    <input type="file" id="file">
    <button id="trigger">trigger</button>
    <script type="text/javascript">
        var file = document.getElementById("file");
        var trigger = document.getElementById("trigger");
    
        trigger.addEventListener("click", function(e){
            var reader = new FileReader();
            reader.readAsDataURL(file.files[0].slice());
            reader.addEventListener("loadend", function(e){
                req = new XMLHttpRequest();
                req.overrideMimeType("text/plain");
                req.addEventListener("load", function(e){
                    var img = document.createElement("img");
                    img.src = e.target.response;
                    document.body.appendChild(img);
                }, false);
                req.open("post", "./tmp_50.php");
                var sBoundary = "---------------------------" + Date.now().toString(16);
                req.setRequestHeader("Upgrade-Insecure-Requests", "1");
                req.setRequestHeader("Content-Type", "multipart/form-data; boundary=" + sBoundary);
                var data = new Blob(["--" + sBoundary + "
    " + "Content-Disposition: form-data; name="payload"; filename="payload.data"" + "
    " + "Content-Type: application/octet-stream" + "
    " + "
    ", reader.result, "
    " + "--" + sBoundary + "--" + "
    "], {type : 'application/octet-stream'});
    
                req.send(data);
            });
        }, false);
    
    </script>
    </body>
    </html>

    PHP:

    <?php
    header("Content-Type: image/jpeg");
    //move_uploaded_file($_FILES['payload']['tmp_name'], './files/tmp_50.jpg');
    echo file_get_contents($_FILES['payload']['tmp_name']);
    ?>
  • 相关阅读:
    NOI Online2021第一场游记
    图论笔记
    Happy New Year!
    CALL TRANSACTION 'CKM3' PARAMETER ID 失效
    将博客搬至CSDN
    CSS 合并同理
    js倒计时改进版
    获取Android版本
    使用二进制方式部署k8s高可用集群
    PPTP无法连接或能连接无法上网或上网慢的问题
  • 原文地址:https://www.cnblogs.com/yiyide266/p/8566528.html
Copyright © 2011-2022 走看看