es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo mostrar archivos pdf en react-native-gifted-chat.

Estoy enviando imágenes y archivos PDF a través de Twilio Messaging con el chat proporcionado. Después de enviarlos, estoy teniendo problemas para mostrar los documentos en la interfaz de gifted-chat.

Aquí está el objeto del mensaje que aceptará gifted chat:

{
  _id: 1,
  text: 'Mi mensaje',
  createdAt: new Date(Date.UTC(2016, 5, 11, 17, 20, 0)),
  user: {
    _id: 2,
    name: 'React Native',
    avatar: 'https://facebook.github.io/react/img/logo_og.png',
  },
  image: 'https://facebook.github.io/react/img/logo_og.png',
  // También puedes agregar una propiedad de video:
  video: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4',
  // Marca el mensaje como enviado, usando una marca de verificación
  sent: true,
  // Marca el mensaje como recibido, usando dos marcas de verificación
  received: true,
  // Marca el mensaje como pendiente con un cargador de reloj
  pending: true,
  // Cualquier parámetro personalizado adicional se pasa aquí
}

¿Cómo puedo adjuntar un enlace de PDF (documento) aquí?

Actualmente estoy adjuntando la URL del PDF con la clave de imagen y devuelve en blanco porque reconoce esa URL como una imagen.

¿Cómo puedo mostrar el PDF en lugar de estar en blanco?

Aquí está el resultado actual: enlace de la imagen

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para adjuntar un enlace de un archivo PDF/documento en el objeto de mensaje de gifted-chat, puedes crear un componente de mensaje personalizado en react-native-gifted-chat y renderizar el componente del visor de PDF dentro de él.

    Primero, define el objeto de mensaje con una propiedad document para almacenar el enlace del archivo PDF/documento. Luego, crea un componente de mensaje personalizado extendiendo el componente de mensaje predeterminado de react-native-gifted-chat. En el método renderMessage del componente de mensaje personalizado, verifica si el mensaje actual tiene una propiedad document. Si es así, renderiza el componente del visor de PDF con el enlace del document.

    Aquí tienes un ejemplo de código:

    import React from 'react';
    import { View } from 'react-native';
    import { Message } from 'react-native-gifted-chat';
    
    class CustomMessage extends Message {
      renderMessage() {
        const { currentMessage } = this.props;
        if (currentMessage.document) {
          return (
            <view style="{{" padding:="" 10="" }}="">
              // Renderiza el componente del visor de PDF con el enlace currentMessage.document
            </view>
          );
        } else {
          return super.renderMessage();
        }
      }
    }
    
    // Luego, en tu componente gifted-chat, establece el componente de mensaje personalizado
    
    <giftedchat messages="{messages}" onsend="{this.onSend}" user="{user}" rendermessage="{(props)" ==""> <custommessage {...props}=""></custommessage>}
    />
    

    Con esta implementación, puedes adjuntar enlaces de archivos PDF/documento en la propiedad document del objeto de mensaje y renderizarlos usando el componente de mensaje personalizado.

Comments are closed.