Skip to content

Commit fb41f79

Browse files
committed
Trying upload image to categories
1 parent 5e785ce commit fb41f79

File tree

2 files changed

+33
-3
lines changed

2 files changed

+33
-3
lines changed

angular/wallypop/src/app/components/category/category.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ <h3 class="text-info">Foto</h3>
150150
<p>¡Añade una foto a la categoría!</p>
151151
<div class="form-group">
152152
<div class="custom-input-file">
153-
<input accept=".jpg, .jpeg" class="input-file" name="imageField" size="1" type="file"/>
153+
<input #file accept=".jpg, .jpeg" class="input-file" name="imageField" size="1" type="file"/>
154154
<i aria-hidden="true" class="fa fa-picture-o"></i>
155155
</div>
156156
<br>

angular/wallypop/src/app/components/category/category.component.ts

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import {Component, OnInit} from '@angular/core';
1+
import {Component, OnInit, ViewChild} from '@angular/core';
2+
import { Router } from '@angular/router';
23
import { Category } from 'src/app/models/category.model';
34
import {CategoryService} from '../../services/category.service';
45
import {LoginService} from '../../services/login.service';
@@ -11,7 +12,12 @@ export class CategoryComponent implements OnInit{
1112

1213
categories: Category[];
1314

14-
constructor(public categoryService: CategoryService, public loginService: LoginService) {
15+
@ViewChild("file")
16+
file: any;
17+
18+
removeImage:boolean;
19+
20+
constructor(public categoryService: CategoryService, public loginService: LoginService, private router: Router) {
1521
}
1622

1723
ngOnInit(): void {
@@ -25,4 +31,28 @@ export class CategoryComponent implements OnInit{
2531
event.preventDefault();
2632
this.categoryService.addCategory(title,description,icon);
2733
}
34+
35+
uploadImage(categoryImage: Category): void {
36+
37+
const image = this.file.nativeElement.files[0];
38+
if (image) {
39+
let formData = new FormData();
40+
formData.append("imageField", image);
41+
this.categoryService.setCategoryImage(categoryImage, formData).subscribe(
42+
_ => this.afterUploadImage(categoryImage),
43+
error => alert('Error uploading category image: ' + error)
44+
);
45+
} else if(this.removeImage){
46+
this.categoryService.deleteCategoryImage(categoryImage).subscribe(
47+
_ => this.afterUploadImage(categoryImage),
48+
error => alert('Error deleting book image: ' + error)
49+
);
50+
} else {
51+
this.afterUploadImage(categoryImage);
52+
}
53+
}
54+
55+
private afterUploadImage(afterCategoryImage: Category){
56+
this.router.navigate(['/category/', afterCategoryImage.id_CATEGORY]);
57+
}
2858
}

0 commit comments

Comments
 (0)