基于ajax上传文件,提示 The current request is not a multipart request

因为想上传文件然后后台给出回应,前台进行提示上传是否成功
所以用form表单直接上传是不可以的,所以选用了ajax进行上传.

用ajax时,出现了题目中的问题,找了半天,将其解决.可以对照看看

上代码

        

js代码:

 function uploadfile() {
	        var formData = new FormData();
	        formData.append("file",$('#file')[0].files[0])
	        var filename = $('#file')[0].files[0].name
	        // alert(window.location.host)
        $.ajax({
            type:'POST', 					//这是必须写的,我就是忘了写其格式,就出现了该错误
            url :'/upload',
            data:formData,
            processData: false,			//对数据不做处理
            cache:false,      				//上传文件不需要缓存
            contentType: false,
            mimeType:"multipart/form-data",
            success:function (data) {					
                    Messenger().post({						//这是一个提示的小插件
                        message : filename + "上传成功",
                        // hideAfter: 10
                    })
                    setTimeout(function () {
                        window.location.reload()
                    },1000)
            }
        })
    }

//当选择文件后,自动上传文件
    $(function () {
        var input = $('#file');
        input.change(function () {

            if($(this).val()!='')
                uploadfile()
        })
    })

你可能感兴趣的:(前端问题)