Por lo general, no hago preguntas aquí, pero este problema me ha estado molestando durante bastante tiempo.
El problema que tengo es que al cargar una imagen en la fuente de un nuevo objeto de imagen, no se carga hasta el segundo intento.
Investigué más a fondo esto y creo que lo que está sucediendo es que: está cargando bien la imagen la primera vez, pero por alguna razón solo está almacenando en caché la imagen al final del clic del botón. Lo que significa que en el primer intento, no tiene nada desde donde cargar, pero en el segundo intento, simplemente se apaga de la imagen recién almacenada en caché.
El javascript se puede ver a continuación:
$(document).on('click', '#btnSelectStamp', function () { var imageObj = new Image(); imageObj.id = $(this).attr("value") imageObj.src = "@Url.Action("GetMapStamp", "MapMaker")?imageID=" + $(this).attr("value" selectedHandle = { x: width / 2, y: 150, isActive: false, height: imageObj.height, width: imageObj.width, rotation: 0, image: imageObj, } $('#SelectImageModal').modal('hide') handles.push(selectedHandle) draw() });Como se puede ver arriba, estoy configurando la ID de la nueva imagen como lo que se envía al hacer clic en el botón. La razón de esto es porque estoy cargando la imagen dinámicamente a través del controlador. Luego, en el punto de disputa, está configurando la fuente de la imagen en una acción de URL.
El código del controlador se puede ver a continuación:
public IActionResult GetMapStamp(string imageID) { MapStampItem objMapStamp = MapStampItem.Load(new Guid(imageID)); return File(objMapStamp.MapStamp, "image/jpeg"); }Si se necesitan más detalles, por favor no dude en preguntar.
Gracias por adelantado.