找回密码
 立即注册

QQ登录

只需一步,快速开始

ngqj

银牌会员

271

主题

742

帖子

2831

积分

银牌会员

积分
2831
ngqj
银牌会员   /  发表于:2022-5-30 14:42  /   查看:2150  /  回复:4
1金币
本帖最后由 ngqj 于 2022-5-30 20:31 编辑

大佬好,遇到了一个问题,用的代码把图片转换base64,发布应用为https手机端不能转换,发布为http手机可以转换,麻烦大佬看一下这个JS,看可以优化一下吗
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('zhengmian').setValue(base64);
}

4 个回复

倒序浏览
Howie.Sun讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-5-30 15:01:53
沙发
您好,JS我不太熟悉呢,不过有一个服务端编程的方式可以给您演示一下。
这个地方只需要改为您电脑中本地图片的路径即可。
或者是这个地方改为您电脑中本地图片的路径。


因为JS和服务端命令都可以给后端接口发请求,所以这两种方式都可以。
效果:把图片转为base64编码然后存到数据库中。


本帖子中包含更多资源

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

x
回复 使用道具 举报
ngqj
银牌会员   /  发表于:2022-5-30 15:42:01
板凳
大佬,我是手机拍摄的图片直接转的base64啊,您这样的话我还得把这个图片保存到服务器上,会不会影响性能啊
回复 使用道具 举报
ngqj
银牌会员   /  发表于:2022-5-30 15:44:21
地板
我不是存数据库啊,我是需要转码后用百度AI的,现在问题是https在手机上不能转,在电脑上模拟手机是可以转的
回复 使用道具 举报
Howie.Sun讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-5-30 17:27:04
5#
ngqj 发表于 2022-5-30 15:42
大佬,我是手机拍摄的图片直接转的base64啊,您这样的话我还得把这个图片保存到服务器上,会不会影响性能啊

不好意思哦,JS真不是特别了解呢,看有没有比较懂的大佬出谋划策一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部