如何阻止数据URL成为实际URL
how to stop dataURL from being actual url?
我的问题可能看起来很奇怪,因为我不确定如何表达它!!问题是我用js写了一个函数
function onSavePNG(url){
var save = document.createElement('a');
console.log('url in save function'+url);
save.href = url;
console.log('save.href'+save.href);
save.target = '_blank';
save.download = 'Slide no '+(i+1)+'.png' || 'unknown';
var event = document.createEvent('Event');
event.initEvent('click', true, true);
save.dispatchEvent(event);
(window.URL || window.webkitURL).revokeObjectURL(save.href);
}
参数 'url' 是来自画布的数据URL,该函数应该将图像保存到磁盘。 save.href 没有保存实际的数据URL,它已更改为
'http://localhost:3000/data:image/png;base64.......'
而且我没有收到任何文件。我应该怎么做才能做到这一点
'http://localhost:3000/'
不会成为分配给 save.href 的数据URL的一部分?
我通过删除出现在 dataURL 开头和结尾的单引号解决了我的问题
function onSavePNG(url){
var save = document.createElement('a');
console.log(url[0]+' '+url[url.length-1]);
url = url.slice(1);
url = url.substring(0,url.length-1);
console.log(url[0]+' '+url[url.length-1]);
save.href = url;
save.target = '_blank';
save.download = 'Image.png' || 'unknown';
var event = document.createEvent('Event');
event.initEvent('click', true, true);
save.dispatchEvent(event);
(window.URL || window.webkitURL).revokeObjectURL(save.href);
}
它现在正在工作:)
由于save
是一个<a>
元素,因此只需在代码的最后一行中使用save.pathname
(只是路径)而不是save.href
(整个URL)就可以解决问题。
相关文章:
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何从外部url寻址数据
- 在按钮单击时将图像URL数据显示到弹出框中,而无需禁用背景
- 如何创建一个组件,我可以设置在 Angular 2 中的属性中获取 URL 数据
- ajax调用url数据中的正斜杠
- 将状态的 URL 数据获取到模板中
- 通过AJAX打开的PHP文件-发出Captcha警报并发送url数据
- 如何在 HTML 网页中解析 JSON URL 数据
- 主干提取url数据格式错误
- 使用JS按类或ID从URL数据中获取内容
- D3中的两个csv http URL数据相同的图表
- 使用JSON URL数据动态填充HTML表
- 使用PHP Curl、Jquery In Loop获取多个url数据
- 在拖放过程中从外部远程图像读取URL数据
- 如何将JSON URL数据解析为给定的AngularJS dxChart变量
- 如何使用JSON从Reddit API提取url数据
- 安全、准确地将用户提供的URL数据插入HTML5文档的正确方法是什么?
- AJAX url数据发送与友好的url's在Wordpress
- 从作为blob的图像中获取url数据
- 如何在html文本框中获取url数据