找回密码
 立即注册

QQ登录

只需一步,快速开始

伟伟

银牌会员

70

主题

272

帖子

2498

积分

银牌会员

积分
2498
伟伟
银牌会员   /  发表于:2022-4-19 09:48  /   查看:4072  /  回复:11
50金币
本帖最后由 伟伟 于 2022-4-21 08:48 编辑

怎样实现复制图片地址保存为base64,如果用代码实现请修改一下工程,谢谢!




附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

11 个回复

倒序浏览
Howie.Sun讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-4-19 11:13:52
沙发
您好,您的意思是将这个图片转换为base64编码么?您可以参考一下这个帖子。
【新提醒】图片转码BASE64问题 - 活字格专区 - 求助中心 - 葡萄城产品技术社区 (grapecity.com.cn)
demo中通过JS将图片转为base64编码。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
伟伟
银牌会员   /  发表于:2022-4-19 13:26:32
板凳
本帖最后由 伟伟 于 2022-4-19 13:31 编辑
Howie.Sun 发表于 2022-4-19 11:13
您好,您的意思是将这个图片转换为base64编码么?您可以参考一下这个帖子。
【新提醒】图片转码BASE64问题 ...


我这个码不是上传的图片,是页面生成的,



var img = 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);
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Howie.Sun讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-4-19 14:34:04
地板
伟伟 发表于 2022-4-19 13:26
我这个码不是上传的图片,是页面生成的,

您好,这个就稍微麻烦一点,我们可以通过var cell=document.getElementsByClassName('fgc-barcode');获取条形码的对象,然后这个HTMLCollection是一个数组。
根据HTMLCollection定位到childNodes和currentSrc即可。

效果:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
伟伟
银牌会员   /  发表于:2022-4-19 15:16:28
5#
本帖最后由 伟伟 于 2022-4-19 15:45 编辑
Howie.Sun 发表于 2022-4-19 14:34
您好,这个就稍微麻烦一点,我们可以通过var cell=document.getElementsByClassName('fgc-barcode');获取 ...

感谢,回复!
回复 使用道具 举报
伟伟
银牌会员   /  发表于:2022-4-19 15:30:35
6#
本帖最后由 伟伟 于 2022-4-19 15:44 编辑

var cell=document.getElementsByClassName('fgc-barcode');
var cell1=cell[0].childNodes[0].currentSrc;
var page=Forguncy.Page;
page.getCell("frck").setValue(cell1);
console.log(cell1);

码改变后在执行js就不执行了


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Howie.Sun讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-4-19 17:38:25
7#
伟伟 发表于 2022-4-19 15:30
var cell=document.getElementsByClassName('fgc-barcode');
var cell1=cell[0].childNodes[0].currentS ...

这个建议您去看一下,var cell=document.getElementsByClassName('fgc-barcode'); 这个cell的变化过程,您可能要观察一下cell数组是否有变化,然后改造一下JS代码,我这边也不可能完全给大佬实现呀,有了思路您可以尝试一下先。
回复 使用道具 举报
伟伟
银牌会员   /  发表于:2022-4-20 16:39:41
8#
Howie.Sun 发表于 2022-4-19 17:38
这个建议您去看一下,var cell=document.getElementsByClassName('fgc-barcode'); 这个cell的变化过程, ...

二维码变化后,每次获取的都是第一次数组。
大佬,我要会改造这代码我就不会发帖子了!不是解决不了的问题不会发
回复 使用道具 举报
Howie.Sun讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-4-20 17:59:22
9#
伟伟 发表于 2022-4-20 16:39
二维码变化后,每次获取的都是第一次数组。
大佬,我要会改造这代码我就不会发帖子了!不是解决不了的问 ...

其实这个您看一下这个childNodes[0]这个数组,因为如果是表格的数据,它应该是childNodes[0]、childNodes[1]诸如此类的。那您应该给这个JS命令,传一个表格的行并且减一来控制数组的下标,然后我们把这个二维码和图片放到页面容器中,每次刷新一下这个页面容器试一下。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
phoben讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-4-20 21:17:58
10#
我的UI框架中,有一个自定义公式,叫做QR(),能将任意内容实时转为BASE64图片,并可指定大小和边距样式,详情见:
UI框架开发文档


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部