无法使用 Angular/Spring

问题描述

标题说明了一切。

我需要将文件/文档上传到 BE,不知何故我无法正确完成!

角度服务

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());
    }

弹簧控制器

 @PostMapping(value = "/save-file")
    public ResponseEntity<Object> saveFile(@RequestParam("file") multipartfile file) {

        System.out.println(file);

        return null;
    }

我已经尝试了很多其他的配置,比如将标题设置为

"Content-Type": "multipart/form-data"

错误信息总是一样的:

Current request is not a multipart request

解决方法

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

我认为你有拦截器配置来为你的所有 http 请求添加一些标头。 尝试将此条件添加到您的拦截器类:

mylevels = c('0_10','0_9','0_8','1_10','1_9','1_8')

df %>% 
  ggplot(aes(x = time)) +
  geom_area(inheris.aes = FALSE,data = . %>%  dplyr::filter(str_detect(type,'0_')),aes(y = value,fill = factor(type,levels = mylevels)),position = 'stack',color = 'black')+
  scale_fill_viridis_d() +
  geom_area(inheris.aes = FALSE,'1_')),color = 'black')

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...