javascript - 有没有大神帮忙看看这段关于文件上传的代码

查看:111
本文介绍了javascript - 有没有大神帮忙看看这段关于文件上传的代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

export var file_upload = (file, path, success,error) => {
    var domain = NORMANDY_WEBCAM_MS_DOMAIN;
    var form = new FormData();
    //form.append("source", "park");
    form.append("file", file);

    var xhr = new XMLHttpRequest();
    xhr.upload.addEventListener("progress", (data) => {
        // 上传进度
    });
    xhr.addEventListener("load", (data) => {

    });
    xhr.addEventListener("error", (data) => {
        // 上传失败
    });
    xhr.addEventListener("abort", (data) => {
        // 中断上传
    });
    xhr.onreadystatechange = function(){
        if(xhr.readyState==4) {
            if(xhr.status==413){
                alert("上传资源文件太大,服务器无法保存!");
            }else if(xhr.status==422) {
                alert("参数错误,可能文件格式错误!");
            }else if(xhr.status==400){
                alert('文件格式错误!');
                error && error();
            }else if(xhr.status <200 || xhr.status >400){
                success && success();
                console.log('111')
            }else if(xhr.status ==500){
                error && error();
            }
            else{
                // 上传成功
                //var source_url = JSON.parse(xhr.responseText).source_url;
                //success && success();
            }
        }
    }
    xhr.open("POST", `${domain}${path}`);
    xhr.send(form);
}

我是这样调用的

file_upload(this.file_obj,'/blackwhitelist/importwhite', ()=> {
                console.log('成功导入文件!');
                this.getAllMembers();
            }, ()=>{
                console.log('文件格式错误')
            });

但是请求500报错的时候控制台显示'成功导入文件';
我这段代码哪里错了呀

解决方案

因为:

//走到这一步的时候,就因为status > 400而执行success方法了
//压根儿不会走你下面那行xhr.status ==500
}else if(xhr.status <200 || xhr.status >400){
    success && success();
    console.log('111')
}

这篇关于javascript - 有没有大神帮忙看看这段关于文件上传的代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆