gpt4 book ai didi

javascript - 两次上传相同的图像文件 - Javascript

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:45:24 25 4
gpt4 key购买 nike

我的绘图应用程序中有一个用 Javascript 编写的图像 uploader 。我想让用户在 Canvas 上放置多个相同的图像。但是,当我尝试上传已经在 Canvas 上的图像时,什么也没有发生,并且我的上传程序事件处理程序中的断点永远不会被击中。这是怎么回事,我该如何解决?谢谢!

这是我的图像处理程序的代码:

function handleImage(e) {
var reader = new FileReader();
reader.onload = function(event) {
var img = new Image();
img.onload = function() {
img.className = 'drag';
img.style.left = 0;
img.style.top = 0;
context.drawImage(img, parseInt(img.style.left, 10) , parseInt(img.style.top, 10));
images.push(img);
}
img.src = event.target.result;
}
reader.readAsDataURL(e.target.files[0]);
};

最佳答案

我确实倾向于同意 Rene Pot 再次使用相同的图像(复制按钮),但您仍然无法阻止用户再次插入/加载相同的图像。我刚才遇到过这个问题,并使用这段代码来检查图像是否已经缓存(如果缓存,则没有加载,因此 onload 也不会触发)。

var img = new Image();
img.src = event.target.result;

var insertImage = function() {
img.className = 'drag';
img.style.left = 0;
img.style.top = 0;
context.drawImage(img, parseInt(img.style.left, 10) , parseInt(img.style.top, 10));
images.push(img);
}

if(img.complete){
img.onload = insertImage;
} else {
insertImage();
}

希望对您有所帮助。

关于javascript - 两次上传相同的图像文件 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com