Angular 角度2打底+;spring启动文件上载错误400

Angular 角度2打底+;spring启动文件上载错误400,angular,spring-boot,primeng,Angular,Spring Boot,Primeng,我正在尝试将一个带有primeNG的文件上载到spring boot服务器端应用程序。。但是我得到了错误400 这是我的密码: app.html <p-fileUpload name="myfile[]" url="http://localhost:8080/upload" (onUpload)="onUpload($event)" > <template pTemplate type="content"> <ul *ngIf

我正在尝试将一个带有primeNG的文件上载到spring boot服务器端应用程序。。但是我得到了错误400

这是我的密码: app.html

<p-fileUpload name="myfile[]" url="http://localhost:8080/upload" (onUpload)="onUpload($event)" >
        <template pTemplate type="content">
            <ul *ngIf="uploadedFiles.length">
                <li *ngFor="let file of uploadedFiles">{{file.name}} - {{file.size}} bytes</li>
            </ul>
        </template>        
    </p-fileUpload>
弹簧启动控制器:

@RequestMapping(value="/upload",
            method=RequestMethod.POST, 
            consumes = MediaType.MULTIPART_FORM_DATA_VALUE,
            produces = MediaType.APPLICATION_JSON_VALUE)
    public @ResponseStatus(HttpStatus.CREATED) ResponseEntity processUpload(@RequestParam("myfile") MultipartFile file) throws IOException {

            return ResponseEntity.ok("Fichier En cours de Traitement..");
    }
CORS配置

        HttpServletResponse response = (HttpServletResponse) sRes;
        HttpServletRequest request = (HttpServletRequest) sReq;
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Origin", "*");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "Origin, Authorization, Content-Type, Accept, X-Requested-With, Cache-Control, Accept");
        response.setHeader("Access-Control-Expose-Headers", "X-Requested-With, Authorization");

        if("OPTIONS".equalsIgnoreCase(request.getMethod())) {
            response.setStatus(HttpServletResponse.SC_OK);
        } else {
            fc.doFilter(sReq, response);
        }   
    }
您应该在Priming上传中使用
name=“myfile”
——这是您的Spring控制器期望的名称

app.html

<p-fileUpload name="myfile" url="http://localhost:8080/upload" 
    (onUpload)="onUpload($event)" >
            <template pTemplate type="content">
                <ul *ngIf="uploadedFiles.length">
                    <li *ngFor="let file of uploadedFiles">{{file.name}} - {{file.size}} bytes</li>
                </ul>
            </template>        
        </p-fileUpload>


{{file.name}-{{file.size}字节


服务器怎么说?我是说,这400个反应有身体吗?另外,尝试使用
name=“myfile”
;我使用的是同一个堆栈,“myfile[]”对我不起作用。这就是解决方案。。!!!谢谢@IlyaNovoseltsev
<p-fileUpload name="myfile" url="http://localhost:8080/upload" 
    (onUpload)="onUpload($event)" >
            <template pTemplate type="content">
                <ul *ngIf="uploadedFiles.length">
                    <li *ngFor="let file of uploadedFiles">{{file.name}} - {{file.size}} bytes</li>
                </ul>
            </template>        
        </p-fileUpload>