Por lo tanto, actualmente mi sitio web está cargando un archivo JSON desde mi servidor, buscando los datos que necesita y luego mostrándolos en la pantalla, además de descargar y mostrar una imagen relacionada con esa información desde una API pública. Me preguntaba cómo haría para almacenar la imagen descargada de la API en la base de datos de mi propio servidor, de modo que antes de obtener cada imagen, verifique la imagen en mi servidor y, si no existe, vaya a la API pública y descargue y almacenarlo en la base de datos de mis servidores?
Este código a continuación es una muestra, cuando se carga el sitio, extrae una tarjeta aleatoria del JSON y muestra su información junto con la imagen. Quiero descargar la imagen de la API, almacenarla en la base de datos de mis servidores y luego verificar dicha imagen antes de descargarla para reducir al mínimo las llamadas a la API.
function RandomCard() { const RC = Math.floor(Math.random() * cardAPIListings.data.length); var cardShowcase = document.getElementById("randomcardshowcase"); var randomCardImage = document.getElementById('randomImage'); switch (cardAPIListings.data[RC].type) { case "Spell Card": case "Trap Card": cardShowcase.innerHTML = '\"' +cardAPIListings.data[RC].name + '\"' + '<br><br>' + '[' + cardAPIListings.data[RC].race + ' / ' + cardAPIListings.data[RC].type + ']' + '<br>' + 'Attri: ' + cardAPIListings.data[RC].attribute + '<br><br>' + 'Effect: ' + '<br>' + cardAPIListings.data[RC].desc; randomCardImage.src = cardAPIListings.data[RC].card_images[0].image_url; break;Editar: la API PÚBLICA que estoy usando dice esto:
[Imágenes de tarjetas Los usuarios que obtengan nuestras imágenes de tarjetas directamente de nuestro servidor en lugar de nuestro repositorio en la nube de Google serán inmediatamente incluidos en la lista negra.
Las imágenes de la tarjeta se pueden extraer de nuestro servidor de Google Cloud, pero solo extraiga una imagen una vez y luego guárdela localmente (I Assume this means Store it in your Own Server/API Database) . Si descubrimos que está extrayendo un volumen muy alto de imágenes por segundo, su IP se incluirá en la lista negra y se bloqueará. ]
Por lo tanto, necesito una forma de almacenar las imágenes en mi propia ubicación a medida que se descargan de la API pública para que no me incluyan en la lista negra.
A menos que esté malinterpretando su pregunta, solo almacene imágenes y otros datos binarios en el sistema de archivos. No hay razón para cargar la base de datos con grandes datos binarios. Solo almacene el enlace del archivo (o URL) en la base de datos.