upload(file: File): Observable<HttpEvent<any>> {
const formData: FormData = new FormData();
formData.append('file', file);
const req = new HttpRequest('POST', `${this.uploadfilef}`, formData, {
reportProgress: true,
responseType: 'json'
});
return this.http.request(req);
}
tengo este problema de que quiero extraer la identificación del objeto que agregué con el archivo de carga del controlador y en realidad devuelve la identificación pero no puedo usarla en angular
Solución del problema
No estoy seguro de entender completamente cuál es su problema. Si desea acceder a los datos resultantes de la llamada http, debe suscribirse al resultado de su Obervable.
return this.http.request(req).subscribe(result => {
console.log(result); // http request response
console.log(result.body) // the actual returned value from your call
});
Si no puede trabajar con sus datos de respuesta aquí, debe suscribirse desde donde se realizó la llamada al método.
upload(myFile).subscribe(result => {
console.log(result.body)
}
También debe intentar utilizar los tipos de texto mecanografiado. En vez de
upload(file: File): Observable<HttpEvent<any>> {
debe crear un nuevo objeto que tenga los datos de su respuesta.
export class MyResponseObject {
public value1: boolean;
public value2: string;
public value3: number;
}
y luego reemplace cualquiera con su Objeto. Por lo general, es mucho más fácil trabajar (detectar errores) cuando los tipos están claramente definidos. Bien vale la pena el tiempo:).
upload(file: File): Observable<HttpEvent<MyResponseObject >> {
No hay comentarios.:
Publicar un comentario