cancel
Showing results for 
Search instead for 
Did you mean: 

Error al visualizar PDF

mali_886
Champ on-the-rise
Champ on-the-rise

Buenas tardes

Tengo un problema al visualizar los archivos pdf que se descarga desde una aplicación .net  en alfresco aparentemente abre bien y si descargo tambien abre bien,, pero en la aplicación si lo descargo me manda error solo en archivos grandes,  no se puede abrir, no se si es debido a que alfresco convierte el archivo o tal parece que el error es viene desde la aplicación .net este es el código que estamos trabajando.. Espero alguien pueda ayudarme o alguna sugerencia al respecto.

/// <summary>

        /// Obtiene el documento de alfresco, valida acceso en Folium.

        /// </summary>

        /// <param name="idFile">Id del documento en FOlium</param>

        /// <param name="idUsuario">Usuario con permiso de descarga (Allow null)</param>

        public string GetDocument(int idFile,string idUsuario)

        {

            var result = string.Empty;

            var objEnt = new EntArchivo { IdArchivo = idFile, User = idUsuario };

            var objProcess = new proFolium();

            var idFileAlf = objProcess.GetIdArchivoAlfresco(User.Flujo, objEnt);

            if (!idFileAlf.Success) return Recursos.Mensajes.msjAlfrescoPermiso;

            var datosDoc = GetInfoFile(idFileAlf.Datos.IdArchivoAlfresco);

            if (string.IsNullOrEmpty(datosDoc.Error))

            {

                WebClient objClient = new WebClient { Credentials = new NetworkCredential(User.UserAlfresco, User.PwsAlfresco) };

                byte[] pdfByte = null;

                pdfByte = objClient.DownloadData(User.SwAlfresco + "/content?id=" + idFileAlf.Datos.IdArchivoAlfresco);

                var Response = HttpContext.Current.Response;

                Response.Clear();

                MemoryStream ms = new MemoryStream(pdfByte.ToArray());

                Response.ContentType = datosDoc.MimeType;

                Response.AddHeader("content-disposition", "attachment;filename=" + datosDoc.Nombre);

                Response.Buffer = true;

                ms.WriteTo(Response.OutputStream);

            }

            else

                result = datosDoc.Error;

            return result;

        }

Saludos.....

AO

1 REPLY 1

angelborroy
Community Manager Community Manager
Community Manager

El método recomendado por CMIS para recuperar contenido es:

https://chemistry.apache.org/docs/cmis-samples/samples/content/index.html

Hyland Developer Evangelist