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']);
    ?>
  • 相关阅读:
    驱动02.按键
    驱动01.LED
    更换编译器(转载)
    2.使用线程方式获取标准输入
    1.使用非阻塞方式获取标准输入
    编写一个通用的Makefile文件
    layui 中 表单 会自动刷新的问题
    layui 中弹窗的时候关闭当前页面并刷新
    ssm框架中解决 sqlserver数据库的分页问题(用的是mybatis插件)
    关于 @SuppressWarnings 的注解
  • 原文地址:https://www.cnblogs.com/yiyide266/p/8566528.html
Copyright © 2011-2022 走看看