Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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
无法使用Angular/Spring上载文件_Angular_Spring_Multipartform Data_Angular Httpclient - Fatal编程技术网

无法使用Angular/Spring上载文件

无法使用Angular/Spring上载文件,angular,spring,multipartform-data,angular-httpclient,Angular,Spring,Multipartform Data,Angular Httpclient,标题说明了一切 我需要上传文件/文档,不知怎的我就是做不好 角度服务 public saveFile(file: File): Observable<any> { const formData = new FormData(); formData.append('file', file); return this.http .post<FormData>(`${environment

标题说明了一切

我需要上传文件/文档,不知怎的我就是做不好

角度服务

public saveFile(file: File): Observable<any> {
        const formData = new FormData();
        formData.append('file', file);
        
        return this.http
            .post<FormData>(`${environment.apiUrl}/save-file`, formData)
            .pipe(first());
    }
错误消息始终相同:

Current request is not a multipart request

如果您的请求正文是FormData的instanceof,请为您添加该标头。您不需要添加标题

我认为您有拦截器配置,可以向所有http请求添加一些头。 尝试将以下条件添加到拦截器类:

        if (!request.headers.has("Content-Type") && !(request.body instanceof FormData)) {
            request = request.clone({
               headers: request.headers.set("Content-Type", "application/json")
            });
        }

我的好朋友。就在这里!非常感谢你!!!不客气,伙计
Current request is not a multipart request
        if (!request.headers.has("Content-Type") && !(request.body instanceof FormData)) {
            request = request.clone({
               headers: request.headers.set("Content-Type", "application/json")
            });
        }