Javascript 但是,这个解决方案似乎是必要的,因为服务器限制CORS方法获取选项。它不适用于我的视频。我已经设置了CORS标题,并使用curl-I确认标题确实设置好了。我想从视频中提取一帧并在图像中显示。我在视频帧上调用toDataURL时出错。那么怎么做…?所以基本上

Javascript 但是,这个解决方案似乎是必要的,因为服务器限制CORS方法获取选项。它不适用于我的视频。我已经设置了CORS标题,并使用curl-I确认标题确实设置好了。我想从视频中提取一帧并在图像中显示。我在视频帧上调用toDataURL时出错。那么怎么做…?所以基本上,javascript,html,video,canvas,Javascript,Html,Video,Canvas,但是,这个解决方案似乎是必要的,因为服务器限制CORS方法获取选项。它不适用于我的视频。我已经设置了CORS标题,并使用curl-I确认标题确实设置好了。我想从视频中提取一帧并在图像中显示。我在视频帧上调用toDataURL时出错。那么怎么做…?所以基本上这不能用于不同来源的视频?谢谢!这也适用于视频标签:。这将允许在视频帧上调用toDataURL。 var canvas = document.getElementById("canvas").getContext("2d"); var but


但是,这个解决方案似乎是必要的,因为服务器限制CORS方法获取选项。它不适用于我的视频。我已经设置了CORS标题,并使用curl-I确认标题确实设置好了。我想从视频中提取一帧并在图像中显示。我在视频帧上调用toDataURL时出错。那么怎么做…?所以基本上这不能用于不同来源的视频?谢谢!这也适用于视频标签:。这将允许在视频帧上调用toDataURL。
var canvas = document.getElementById("canvas").getContext("2d");

var button = document.getElementById("button");

var image = new Image();
image.crossOrigin = "anonymous";  // This enables CORS
image.onload = function (event) {
    try {
        canvas.drawImage(image, 0, 0, 200, 200);
        button.download = "cat.png";
        button.href = canvas.canvas.toDataURL();        
    } catch (e) {
        alert(e);
    }
};
image.src = "https://i.chzbgr.com/maxW500/1691290368/h07F7F378/"
<IfModule mod_setenvif.c>
    <IfModule mod_headers.c>
        <FilesMatch "\.(mp4)$">
            SetEnvIf Origin ":" IS_CORS
            Header set Access-Control-Allow-Origin "*" env=IS_CORS
        </FilesMatch>
    </IfModule>
</IfModule>
document.getElementById('video_thumb').innerHTML =
             '<img src="'+data_uri+'"  width="250"
                        height="250px" crossOrigin="Anonymous">';       
$("select[name='example']").add(".external-icon").hide();
$("select[name='example']").add(".external-icon").show();
// Webkit will throw security error when image used on canvas and canvas.toDataUrl()

return new Promise((resolve, reject) => {
  let image = new Image();
  img.onload = () => {resolve(image)}
  img.src = `${url}?${Date.now()}`;
  img.crossOrigin = ""
})

// Webkit will not throw security error when image used on canvas and canvas.toDataUrl()

return new Promise((resolve, reject) => {
  let img = new Image()
  img.onload = () => {resolve(img)}
  img.crossOrigin = ''
  img.src = `${url}?${Date.now()}`
})
useEffect(() => {
    const img = new Image();
    if (picdatanew.length !== 0) {
      img.setAttribute("crossorigin", "anonymous");
      img.src = picdatanew[picID].webformatURL;
    
      setCanvasSize({
        width: picdatanew[picID].webformatWidth,
        height: picdatanew[picID].webformatHeight,
      });
      setPicturedata(img);
      setWholedata([]);


      setTimeout(() => {
        contextRef.current.drawImage(
          img,
          0,
          0,
          picdatanew[picID].webformatWidth,
          picdatanew[picID].webformatHeight
        );
        var image = canvasRef.current.toDataURL("image/jpg");
        setMyImage(image);
      }, 2000);
    }
  }, [picID, picdatanew]);