none
¿Cómo solventar error: Unexpected token O in JSON at position 0\n at JSON.parse (<anonymous>)\n at XMLHttpRequest al subir archive al servidor? RRS feed

  • Pregunta

  • engo una aplicacion asp.net core con Angular y nesecito subir una imagen a el servidor

    Pero me devuelve el error : Unexpected token O in JSON at position 0\n at JSON.parse ()\n at XMLHttpRequest

    ¿ Cómo puedo resolverlo?

    TypeScript

     
     public uploadFile = (files) => {
        if (files.length === 0) {
          return false;
        }
        this.progress = 0;
        this.getParametros();
    
        let fileToUpload = <File>files[0];
        const formData = new FormData();
        formData.append('file', fileToUpload, fileToUpload.name);
    
    this.http.post('http://chileplacercl-001-site1.itempurl.com/api/UploadFileMethod', formData, { reportProgress: true, observe: 'events', params: { username: this.username, identidad: this.identidad }, withCredentials: false } )
          .subscribe(event => {
            if (event.type === HttpEventType.UploadProgress)
              this.progress = Math.round(100 * event.loaded / event.total);
            else if (event.type === HttpEventType.Response) {
              this.message = 'Exito';
              this.onUploadFinished.emit(event.body);
            }
          });
      }
    
    
    C#
            [HttpPost]
            [AllowAnonymous]
            [Route("api/UploadFileMethod")]
            public string UploadFileMethod(IFormFile file,string username,string identidad)
            {
                if (file != null)
                {
                    try
                    {
                        var p = file.FileName.Replace("_","").Split('.');
                        var name = p[0] + "_" + identidad + "." + p[1];
                        if (file.FileName.Contains(".JPG") || file.FileName.Contains(".JPEG") || file.FileName.Contains(".BMP") || file.FileName.Contains(".PNG"))
                        {
                            string path = "ClientApp/dis/assets/ProfileImageGirls/" + name;
                            if (!Directory.Exists("ClientApp/dis/assets/ProfileImageGirls"))
                            {
                                Directory.CreateDirectory("ClientApp/dis/assets/ProfileImageGirls/");
                            }
                            var stream = System.IO.File.Create(path);
                            file.CopyTo(stream);
                            stream.Dispose();
                        }
                        else
                            return "El archivo debe ser de tipo: (.jpg .jpeg .bmp .png)";
    
                    }
                    catch (Exception ex)
                    {
                        return ex.ToString(); 
                    }
                }
                else
                {
                    return "El valor no puede ser nulo";
                }
    
                return "OK2";
    
    }


    EFRAIN MEJIAS C VALENCIA - VENEZUELA


    lunes, 19 de abril de 2021 10:29

Respuestas

  • Unexpected token O in JSON at position 0\n at JSON.parse ()

    Este error indica que el JSON que se ha recibido comienza con la letra O, cosa que en principio no es legal en un JSON. Debería comenzar por ", { o [.

    Puedes verificarlo usando la F12 en el navegador para interceptar el tráfico de red y viendo cuál es el contenido que se está transmitiendo en ese POST.

    No sé cómo se soluciona, pero muchas veces el mero hecho de ver qué es exactamente lo que se ha transmitido te da la pista para inferir cómo se ha generado o de dónde ha salido, y en consecuencia modificar la parte correspondiente para subsanarlo.

    lunes, 19 de abril de 2021 11:47

Todas las respuestas

  • Unexpected token O in JSON at position 0\n at JSON.parse ()

    Este error indica que el JSON que se ha recibido comienza con la letra O, cosa que en principio no es legal en un JSON. Debería comenzar por ", { o [.

    Puedes verificarlo usando la F12 en el navegador para interceptar el tráfico de red y viendo cuál es el contenido que se está transmitiendo en ese POST.

    No sé cómo se soluciona, pero muchas veces el mero hecho de ver qué es exactamente lo que se ha transmitido te da la pista para inferir cómo se ha generado o de dónde ha salido, y en consecuencia modificar la parte correspondiente para subsanarlo.

    lunes, 19 de abril de 2021 11:47
  • Hola Efraín Mejías,

    Gracias por levantar tu consulta en los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    lunes, 19 de abril de 2021 14:19
    Moderador