找回密码
 立即注册

QQ登录

只需一步,快速开始

ngqj

银牌会员

271

主题

742

帖子

2833

积分

银牌会员

积分
2833

[已处理] 图片转base64

ngqj
银牌会员   /  发表于:2022-9-23 13:27  /   查看:1971  /  回复:1
1金币
本帖最后由 ngqj 于 2022-9-23 17:00 编辑

请教一下大佬,图片转base64的js以前一直都正常用的,现在突然不行了
应用是https的,原js代码:var img = `https://${window.location.host}/Upload/`+Forguncy.Page.getCell("jpg").getValue();

function getBase64Image(img) {  
     var canvas = document.createElement("canvas");  
     canvas.width = img.width;  
     canvas.height = img.height;  
     var ctx = canvas.getContext("2d");  
     ctx.drawImage(img, 0, 0, img.width, img.height);  
     var ext = img.src.substring(img.src.lastIndexOf(".")+1).toLowerCase();  
     var dataURL = canvas.toDataURL("image/"+ext);  
     return dataURL;  
}  
var image = new Image();  
image.src = img;  
image.onload = function(){  
  var base64 = getBase64Image(image);  
  console.log(base64);  
Forguncy.Page.getCell('touxiang').setValue(base64);
}


如果是HTTP应用,代码改成下面这样还是可以跑的,请问怎么在https的应用上运行代码呢,望大佬赐教
var img = `http://${window.location.host}/Upload/`+Forguncy.Page.getCell("jpg").getValue();
function getBase64Image(img) {  
     var canvas = document.createElement("canvas");  
     canvas.width = img.width;  
     canvas.height = img.height;  
     var ctx = canvas.getContext("2d");  
     ctx.drawImage(img, 0, 0, img.width, img.height);  
     var ext = img.src.substring(img.src.lastIndexOf(".")+1).toLowerCase();  
     var dataURL = canvas.toDataURL("image/"+ext);  
     return dataURL;  
}  
var image = new Image();  
image.src = img;  
image.onload = function(){  
  var base64 = getBase64Image(image);  
  console.log(base64);  
Forguncy.Page.getCell('touxiang').setValue(base64);
}

1 个回复

倒序浏览
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2022-9-23 16:18:57
沙发
老板,代码着实是不太会,您可以按以下思路去分析一下

首先在本地测一下这个会不会报错,
如果只是在https的应用报错的话,
可以在前端调试一下报错的位置上,
有懂代码的大神伸以援手,会有金币相送哦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部