Ajax上传文件(包含文件的类型,大小验证)

本文介绍了如何使用Ajax进行文件上传,并结合JavaScript进行文件类型的检查和大小限制,确保上传的安全性和有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JS代码块:

<script>
    //  上传文件
    $(function() {
        $("#button").click(function() {
                if ($("#website-title").val() == "") {
                    alert('文件名称不能为空!\r\n')
                    return false;
                }
                if ($("#id-input-file-2").val() == "") {
                    alert('请选择上传的文件!);
                    return false;
                }
                //判断文件上传类型
                var fileSize = 0;
                //文件类型
                var filetypes = [".jpg",".png",".rar",".txt",".zip",".doc",".ppt",".xls",".pdf",".docx",".xlsx"];
                var filepath = document.getElementById("id-input-file-2").value;
                var isnext = false;
                var fileend = filepath.substring(filepath                                   .lastIndexOf("."));
                if (filetypes && filetypes.length > 0) {
                    for (var i = 0; i < filetypes.length; i++) {
                        if (filetypes[i] == fileend) {
                            isnext = true;
                            break;
                        }
                    }
                }
                if (!isnext) {
                    alert('不接受此文件类型,请上传zip格式的文件!\r\n');
                    return false;
                }

                //判断上传文件的大小
                fileSize = document.getElementById("id-input-file-2").files[0].size;
                var size = fileSize / 1024;
                var filemaxsize = 1024 * 2;//2M
                if (size > filemaxsize) {
                    alert('附件大小不能大于' + filemaxsize / 1024 +'M!\r\n', );
                    return false;
                }

                else {
                    var form = new FormData(document                                        .getElementById("tf"));
                    $.ajax({
                            url : "${pageContext.request.contextPath}/newdeploy.action",
                            timeout : 300000,
                            dataType : "json",
                            type : "post",
                            data : form,
                            processData : false,
                            contentType : false,
                            success : function(res) {
                                    if (res.code == 0) {
                                        alert("上传成功!")
                                    } else {
                                            alert("上传失败!")                                              }

                            }
                    });
                }
        })
    });
</script>

jsp代码块:

<form id="tf">
<div>
    <input type="text" id="website-title" name="filename">
    <input type="file" id="id-input-file-2" name="file" />
    <button id="button" type="button">&nbsp;保存</button>
</div>
</form>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值