美文网首页
文件提交

文件提交

作者: 马丁路德东 | 来源:发表于2017-06-13 14:12 被阅读0次

    网页有一个很重要的功能就是文件上传,以前的数据交互就是用一个ajax进行的。
    也用惯了。
    今天忽然发现要进行文件的交互好像只能用form表单提交。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Html5 Ajax 上传文件</title>
            <script type="text/javascript">
                function UpladFile() {
                    var fileObj = document.getElementById("file").files[0]; // 获取文件对象
                    var FileController = "http://172.16.0.109:1109/api/community/upload?id=506e3a37677544efa4a1ba8e78c873c1"; // 接收上传文件的后台地址 
                    // FormData 对象
                    var form = new FormData();
                    form.append("author", "hooyes"); // 可以增加表单数据
                    form.append("file", fileObj); // 文件对象
                    // XMLHttpRequest 对象
                    var xhr = new XMLHttpRequest();
                    xhr.open("POST", FileController, true);
                    xhr.onload = function(){
                        alert("上传完成!");
                    };
                    xhr.send(form);
                    console.log(fileObj);
                }
            </script>
        </head>
        <body>
            <input type="file" id="file" name="myfile" />
            <input type="button" onclick="UpladFile()" value="上传" />
        </body>
    </html>
    

    也可能是是我哪里写错了。
    理想中的ajax文件提交至于要把文件对象获取到就行了。也就是

    var fileObj = document.getElementById("file").files[0]; // 获取文件对象
    

    然后加在ajax的data数据中就行了啊!
    有点意思啊!!!
    其实ajax按道理是完全可以实现文件提交的,因为如果不能早就没网友吐槽出来了。
    所以一定是自己的问题。

    相关文章

      网友评论

          本文标题:文件提交

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