使用 ajax 实现文件上传

😂 这篇文章最后更新于1122天前,您需要注意相关的内容是否还可用。

ajax 文件上传主要用到了 FormData,其 API 使用教程如下:https://developer.mozilla.org/zh-CN/docs/Web/API/FormData

html

<input type="file" name="fileName1" id="fileName1"/>
<input type="button" onclick="sendToUser()" id="sendToUser" value=" 提交 " />

js

        function sendToUser(){ // 在这里进行 ajax 文件上传 用户的信息 
            var $file1 = $("input[name='fileName1']").val();// 用户文件内容 ( 文件)
            // 判断文件是否为空 
            if ($file1 == "") {alert(" 请选择上传的目标文件! ")
                return false;
            }
            // 判断文件类型, 我这里根据业务需求判断的是 Excel 文件
            var fileName1 = $file1.substring($file1.lastIndexOf(".") + 1).toLowerCase();
            if(fileName1 != "xls" && fileName1 !="xlsx"){alert(" 请选择 Execl 文件!");                
                return false;
            }
            // 判断文件大小
            var size1 = $("input[name='fileName1']")[0].files[0].size;
            if (size1>104857600) {alert(" 上传文件不能大于 100M!");
                return false;                
            }

            boo1 = true;
        var type = "file";
        var formData = new FormData();// 这里需要实例化一个 FormData 来进行文件上传
        formData.append(type,$("#fileName1")[0].files[0]);
        // 多文件上传在这里继续 append
        //eg : 
        //formData.append(type,$("#fileName1")[0].files[0]);
        $.ajax({
            type : "post",
            url : "uploadToFile",
            data : formData,
            processData : false,
            contentType : false,
            success : function(data){if (data=="error") {alert(" 文件提交失败!");
                }else{$("input[name='userUrl']").val(data);
                alert(" 文件上传成功!");
            }}
        });
        }

重点最后一段代码即可