Javascript 从上传的文件中获取svg元素的宽度
我选择了一个svg文件并通过Javascript 从上传的文件中获取svg元素的宽度,javascript,jquery,html,svg,Javascript,Jquery,Html,Svg,我选择了一个svg文件并通过readDataUrl()读取它,通过将src设置为从文件读取的值,我可以将它设置为html图像元素。但是,宽度和高度属性将为0。如何将从文件读取的值设置为svg元素,以便能够执行getBBox().width以获取其宽度?您可以使用XMLHttpRequest(或您最喜欢的AJAX库)读取和解析svg文件。我想,如果您愿意,您甚至可以将dataurl传递给它。编辑,因为我误读了这个问题: 如果您可以将svg附加到文档中,并且需要使用FileReader,请使用其方
readDataUrl()
读取它,通过将src
设置为从文件读取的值,我可以将它设置为html图像元素。但是,宽度和高度属性将为0。如何将从文件读取的值设置为svg元素
,以便能够执行getBBox()
.width以获取其宽度?您可以使用XMLHttpRequest(或您最喜欢的AJAX库)读取和解析svg文件。我想,如果您愿意,您甚至可以将dataurl传递给它。编辑,因为我误读了这个问题:
- 如果您可以将svg附加到文档中,并且需要使用FileReader,请使用其方法,然后将其插入html元素中
函数预览文件(){
var file=document.querySelector('input[type=file]')。files[0];
var reader=new FileReader();
reader.onloadend=函数(){
var parent=document.getElementById('container');
parent.innerHTML=reader.result;
}
if(file&&file.type==“image/svg+xml”){
reader.readAsText(文件);
}否则{
警报(“文件类型错误或未提供文件”);
}
}