¿Cómo generar miniaturas desde la URL de IPFS?

Estoy tratando de diseñar un dapp que muestre los archivos cargados en IPFS por un usuario. En mi página web, deseo mostrar miniaturas de todos los archivos subidos por él. Para esto, diseñé el archivo EJS mencionado a continuación que lee datos de un MONGODB. Dentro de docs.url he guardado la URL IPFS completa.

Con este enfoque, puedo generar miniaturas de tipos de archivos de imagen (.jpeg, .png), pero no puedo generar para tipos .pdf, .xlsx, .doc.

Si alguien ha aplicado una función similar, ¿pueden guiarme al respecto?

Gracias de antemano.

    <div class="row text-center" style="display:flex; flex-wrap: wrap;">
        <% docinfo.forEach(function(docs){ %>
            <div class="col-md-3 col-sm-6">
                <div class="thumbnail">
                   <img src="<%= docs.url %>">
                   <div class="caption">
                       <h4><%= docs.name %></h4>
                   </div>
                    <p>
                       <a href="/documents/<%= docs._id %>" class="btn btn-primary">More Info</a>
                    </p>
                </div>
            </div>
        <% }); %>
</div>

Respuestas (1)

Una forma es leer el Content-Typeencabezado de respuesta desde la puerta de enlace de IPFS y luego decidir cargar una imagen diferente para documentos PDF y Excel/Word o generar miniaturas reales usando una biblioteca que admita esos tipos de contenido.

Otra forma es publicar un objeto que contenga un enlace al activo real y otro enlace a los metadatos sobre el activo. A continuación, puede leer los metadatos del activo y determinar el tipo de contenido.