Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当前请求不是多部分请求_Java_Spring Mvc_File Upload_Spring Boot - Fatal编程技术网

Java 当前请求不是多部分请求

Java 当前请求不是多部分请求,java,spring-mvc,file-upload,spring-boot,Java,Spring Mvc,File Upload,Spring Boot,在通过ajax上传我的文件时,我面临着挑战 org.springframework.web.multipart.MultipartException:当前请求不是多部分请求 我在谷歌上搜索,找到了很多解决方案,应用了所有这些,没有人解决我的问题- 下面是我的html文件 <form id="upload-file-form"> <label for="upload-file-input">Upload your file:</label> <

在通过ajax上传我的文件时,我面临着挑战

org.springframework.web.multipart.MultipartException:当前请求不是多部分请求

我在谷歌上搜索,找到了很多解决方案,应用了所有这些,没有人解决我的问题-

下面是我的
html文件

<form id="upload-file-form">
   <label for="upload-file-input">Upload your file:</label>
   <input id="upload-file-input" type="file" name="uploadfile" accept="*" enctype="multipart/form-data" />
</form>
这是我的Spring启动控制器(“/util”)-


您正在发送一个Ajax请求,并且
您正在控制器中直接使用输入字段的名称,这导致了问题。因为当ajax请求到达
控制器时,它没有找到任何名为“uploadfile”
的参数,这就是为什么它会给您带来错误

在这里,我刚刚输入了文件的密钥,它接受了请求。下面写的代码对我来说很有用

Ajax代码

var formData = new FormData();
var file = $('#fileInputId')[0].files[0];

formData.append("myFileKey", file);

$.ajax({
        url : 'myUrl',
        type : 'POST',
        data : formData,
        enctype : 'multipart/form-data',
        contentType : false,
        cache : false,
        processData : false,
        success : function(response) {},
        error: function(){}    
     )};
Java控制器代码:

    @PostMapping(value = { "/myUrl" }, consumes = { "multipart/form-data" })
    public ModelAndView readFileData(@RequestParam("myFileKey") MultipartFile uploadedFile) throws IOException 
   {
                 Your Stuff...... 
   }
尝试在
form
标记中添加
enctype=“multipart/form data”
var formData = new FormData();
var file = $('#fileInputId')[0].files[0];

formData.append("myFileKey", file);

$.ajax({
        url : 'myUrl',
        type : 'POST',
        data : formData,
        enctype : 'multipart/form-data',
        contentType : false,
        cache : false,
        processData : false,
        success : function(response) {},
        error: function(){}    
     )};
    @PostMapping(value = { "/myUrl" }, consumes = { "multipart/form-data" })
    public ModelAndView readFileData(@RequestParam("myFileKey") MultipartFile uploadedFile) throws IOException 
   {
                 Your Stuff...... 
   }