问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用JS将音频文件如何转换成base64格式的

发布网友 发布时间:2022-04-22 17:37

我来回答

2个回答

懂视网 时间:2022-05-15 01:26

这篇文章主要介绍了Javascript将图片的绝对路径转换为base64编码的方法,现在分享给大家,也给大家做个参考。

我们可以使用canvas.toDataURL的方法将图片的绝对路径转换为base64编码;在这我们引用的是淘宝首页一张图片如下:

var img = "https://img.alicdn.com/bao/uploaded/TB1qimQIpXXXXXbXFXXSutbFXXX.jpg";

我们如下编写代码:

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 img = "https://img.alicdn.com/bao/uploaded/TB1qimQIpXXXXXbXFXXSutbFXXX.jpg";
var image = new Image();
image.src = img;
image.onload = function(){
 var base64 = getBase64Image(image);
 console.log(base64);
}

chrome 运行如下所示:

通过搜索明白,我们使用的是淘宝服务器上的一张图片,在本地服务器下访问,结果出现图片跨域的问题;为止,我们可以把图片放在本地服务器下即可解决上面的跨域问题;比如我现在将淘宝服务器下的图片保存在本地服务器下;如下代码即可解决:

var img = "http://127.0.0.1/base64/1.jpg";
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);
}

但是有时候我们想引用其他服务器下的图片该如何解决呢?我们可以使用下面这一句代码在chrome和firefox下生效,在目前safari6以下貌似不支持;如下代码:

image.crossOrigin = '';

所有代码如下:

var img = "https://img.alicdn.com/bao/uploaded/TB1qimQIpXXXXXbXFXXSutbFXXX.jpg";
//var img = "http://127.0.0.1/base64/1.jpg";
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.crossOrigin = '';
image.src = img;
image.onload = function(){
 var base64 = getBase64Image(image);
 console.log(base64);
}

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

关于vue如何实现动态加载图片src

关于vue2.0中datepicker使用方法

在javascript中如何实现最长公共子序列

热心网友 时间:2022-05-14 22:34

1)使用cmd命令运行 输入cmd进入存.swa 文件的文件夹(进入路径用命令 cd ,例:cd C:\abc) 利用命令 ren *.swa *.mp3,批量转换(*为批量适配符) 2)用万能格式转换工具转换例:WinMPG Video Convert
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
眼泪前面用什么介词 tears的意思中文翻译是什么 两次委婉拒绝别人的请客吃饭,他的心情和别人的想法是怎样的 吃了紧急避孕药后出血怎么办 吃避孕药造成阴道出血怎么办 服用复方短效口服避孕药出现阴道少量流血怎么办 吃完避孕药后出血该怎么办 吃避孕药后出血怎么办 浦发信用卡300额度有一次刷卡消费忘记还款100多块,后来发现已经逾期... 刀塔西游新版本5v5地图详解,刀塔西游5v5新地图曝光 美版iphone可以去直营店验机吗 如何把由音频文件转成的base64编码 转回音频文件 微信支付注销后,腾讯后台还有账单吗,有没有彻底删除的办法? 梦见自己结二婚衣服都没换 梦见自己结二婚半路上碰见埋死人的 十九岁女孩梦见自己嫁给二婚男人 PHP 头部defined('IN_SYS')) 有什么作用? 已婚自己梦见再次结婚 在这里说破,祝自己及家人身体健康,平安无事? PHP错误: call to undefinedfunction是什么原因? .net如何制作单点登录的思路(c#) php中查询数据库的select in语句 如何实现不同系统间的单点登录? thinkphp in和between的区别 如何实现的单点登录sso? 清炒包心菜怎么炒 php 判断在不在数组中 in array 单点登录的三种实现方式 PHP in_array 为什么这样写会无效~请大神指点 手撕包菜怎么炒的? 哪个知道单点登录是怎么实现的? 微信注销了和本人还有关系吗?被别人拉黑了也会注销吗 如何获取一个音频文件和解码 base64 字符串到 微信之前的实名认证注销了腾讯公司还会有记录吗? 推荐一个性价比高的手机 注销后之前的聊天记录还在吗? 关于html插入音频,base64编码 vc++是什么? 微信注销两个月后腾讯还有记录吗 这个(base64编码)音频数据怎么用? 文件能转换为base64格式吗 html中添加的本地音频如何上传到服务器? 微信永久注销后还能查的吗? 微信注销后腾讯公司还保留聊天记录吗?保存多长时间? 怎么把视频 音乐弄到二维码里面 微信支付注销了,之前的交易记录腾讯后台还能查到吗? 404 Not Found 注销了微信*还能查到吗 苹果中HTML不支持base64格式的音频播放么... 要注销,如何保留微信通讯录及收藏的东西? 装机windows10原装系统如何下载