Estoy tratando de crear una aplicación que tome un archivo de imagen como entrada, lo publique en el servidor y reciba una imagen con estilo como URL de blob. El problema es que algunas de las imágenes recibidas a veces están dañadas. No hay ningún patrón aquí y algunos de ellos están corrompidos al azar. Y a veces funciona bien sin imágenes corruptas. Aquí están los fragmentos de código relevantes. Estoy usando django-rest framework para el backend.
var styled_images = [] function StyleTransferCarousel() { const [styledImages, setStyledImages] = useState([]) const [styled, setStyled] = useState(false) // this function gets the image blob from server const getStyledImage = async (model) => { var formData = new FormData() ... try { const { data } = await axios.post('/style_transfer/stylev2/', formData, config) return data } catch (error) {...} } // this function gets the image blob untill the size of image list is equal to available models and re-renders async function getStyledImages() { var styledImageDict = {} for (let i = 0; i < models.length; i++) { var model_i = models[i] var data = getStyledImage(model_i) data.then(data => { styledImageDict = { image: "data:image/png;base64," + data.image, model: models[i] } styled_images = styled_images.concat([styledImageDict]) if (styled_images.length !== models.length) { setLoader(false) setStyledImages(styled_images) //react hook } }) } } // this is called once, if images are not styled useEffect(() => { if (models.length !== 0 && !styled) { //styled = true setStyled(true) getStyledImages() setLoader(true) } }, [models]) ... }
Se representan las imágenes del objeto setStyledImages
. A continuación se muestran algunos ejemplos de imágenes corruptas: