Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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
Javascript XHR多部分文件上载Spring启动问题_Javascript_Spring Boot - Fatal编程技术网

Javascript XHR多部分文件上载Spring启动问题

Javascript XHR多部分文件上载Spring启动问题,javascript,spring-boot,Javascript,Spring Boot,我有一个上传进度条,在文件输入时工作,当进度条达到100%时,没有错误。但是当我在SpringBoot中打印文件内容时,我注意到for循环中的代码没有运行。这是代码。请帮忙,谢谢 JavaScript: function upload(file) { var formData = new FormData(); formData.append("newFile", file); var xhr = new XMLHttpRequest(); xhr.open('P

我有一个上传进度条,在文件输入时工作,当进度条达到100%时,没有错误。但是当我在SpringBoot中打印文件内容时,我注意到for循环中的代码没有运行。这是代码。请帮忙,谢谢

JavaScript:

function upload(file) {
    var formData = new FormData();
    formData.append("newFile", file);
    var xhr = new XMLHttpRequest();
    xhr.open('POST', '/upload');
    xhr.onload = function(e) {
        console.log("xhr onload function");
    };
    var progressBar = document.querySelector('progress');
    xhr.upload.onprogress = function(e) {
        if (e.lengthComputable) {
            progressBar.value = (e.loaded / e.total) * 100;
            progressBar.textContext = progressBar.value;
        }
    };
    xhr.send(formData);
}
弹簧靴:

@RequestMapping(value="/upload", method=RequestMethod.POST)
public String upload(@RequestParam("files") MultipartFile[] files) {

    // This prints [Lorg.springframework.web.multipart.MultipartFile;@........].
    System.out.println(files);
    for (MultipartFile file : files) {
        // This doesn't get printed.
        System.out.println(file.getOriginalFilename());
    }
    return "redirect:/";
}

因为
MultipartFile[]
文件刚刚初始化,但不包含任何值数组

改变

公共字符串上载(@RequestParam(“文件”)MultipartFile[]files)


公共字符串上载(@RequestPart(value=“files”,required=true)MultipartFile[]文件)

因为
MultipartFile[]
文件刚刚初始化,但不包含任何值数组

改变

公共字符串上载(@RequestParam(“文件”)MultipartFile[]files)


公共字符串上载(@RequestPart(value=“files”,required=true)MultipartFile[]files)

在JavaScript中,您正在将文件添加到“newFile”变量,但在spring端,您正在从请求参数“files”提取文件


您正在上载多个文件吗?似乎不是这样。仅使用Multipart进行尝试。

在JavaScript中,您将文件添加到“newFile”变量,但在spring端,您将从请求参数“files”中提取文件


您正在上载多个文件吗?似乎不是这样。仅使用Multipart尝试。

我尝试过,但上面提到的for循环仍然没有运行。然后问题出现在构建请求中。我尝试过,但上面提到的for循环仍然没有运行。然后问题出现在构建请求中。目前,至少一个文件可以。现在工作。谢谢@Aman GargFor现在,至少一个文件就可以了。现在工作。谢谢@Aman Garg