开发者社区 问答 正文

Angular上传图片并将其保存在spring-backend中

我是Angular / Spring的新手,必须存储(H2-Database)图像(jpeg / png),但我不太确定该怎么做。我在模板中得到的文件为:

<input #img type = "file"  accept="image/jpeg,image/png"  (change)="onFileSelected($event)">

我的组件类如下所示:

private userDto: User = {
    id: 0,
    name: null,
    img: null
  }

  save(name:string){
      this.userDto.name = name;
      this.userService.saveUser(this.userDto).subscribe(
        newUser => this.createdUser = newUser)
  }

  onFileSelected(event){
    this.user.img = event.target.files[0];
  }

而我的服务(简体):

saveUser(user: User): Observable<User>{
    return this.http.post<User>(this.userURI, user);
  }

我使用@ PostMapping / @ RequestBody在Spring中捕获了该帖子。现在的问题是:我必须在Angular和Spring [java]中发送和使用哪种类型,以便可以将图像存储在后端并在返回时显示刚刚存储的图像。(或者我做错了什么?)很抱歉可能会出现转储问题,但是我以前从未使用过Angular或Spring。提前致谢

问题来源:Stack Overflow

展开
收起
montos 2020-03-26 21:28:47 466 分享 版权
1 条回答
写回答
取消 提交回答
  • uploadFile( file: File , id : number ) : Observable<any>  
      {  
        let url = this.baseUrl + "uploadImage/" + id ;  
    
        const formdata: FormData = new FormData();  
    
        formdata.append('file', file);  
    
        return this.http.post(url , formdata);  
      }  
    

    在event.target.files.item(0)中检索类型为File的文件参数

    检查此以获取更多详细信息:https : //www.javatpoint.com/angular-spring-file-upload-example

    回答来源:Stack Overflow

    2020-03-26 21:29:24
    赞同 展开评论
问答分类:
问答地址: