首页 > 解决方案 > 通过 javascript 按钮单击事件中的 URL 操作加载图像时如何解决此问题

问题描述

我通常不会在这里提问,但这个问题已经困扰了我很长一段时间。

我遇到的问题是将图像加载到新图像对象的源中时,直到第二次尝试才​​加载。

我对此进行了进一步研究,我相信正在发生的事情是:它第一次加载图像很好,但无论出于何种原因,它只是在按钮单击结束时缓存图像。这意味着在第一次尝试时,它没有可加载的内容,但在第二次尝试时,它只是脱离了新缓存的图像。

可以在下面看到javascript:

    $(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()

    });

如上所示,我将新图像的 ID 设置为通过按钮单击发送的内容。这样做的原因是因为我正在通过控制器动态加载图像。然后在争用点,它将图像源设置为 url 操作。

控制器代码如下所示:

    public IActionResult GetMapStamp(string imageID)
    {
        MapStampItem objMapStamp = MapStampItem.Load(new Guid(imageID));


        return File(objMapStamp.MapStamp, "image/jpeg");

    }

如果需要更多详细信息,请随时询问。

提前致谢。

标签: javascriptc#imagemodel-view-controllercontroller

解决方案


推荐阅读