我createObjectURL
用来获取图像的属性,例如宽度和高度。如何获取本地文件名?
loadURL = function (event) {
var output = document.getElementById('myimage'),
output.src = URL.createObjectURL(event.target.files[0]);
output.onload = function () {
document.getElementById("urlinput").value = output. ? ? ? ? ?
document.getElementById("width").value = output.width;
document.getElementById("height").value = output.height;
}
}
您如何从中获取文件名?我曾尝试filename
,src
和name
。我知道我可以从相应input type="file"
的对象获取值,但我想从对象(上面的输出。
URL.createObjectURL
最终返回值中没有任何信息。它返回一个字符串类型的URL。img
默认情况下,元素都不是,但是如果您event.target
是文件类型的输入,则可以从中获取文件名。
loadURL = function (event) {
var output = document.getElementById('myimage'),
output.src = URL.createObjectURL(event.target.files[0]),
fileName = event.target.files[0].name;
output.onload = function () {
document.getElementById("urlinput").value = output. ? ? ? ? ?
document.getElementById("width").value = output.width;
document.getElementById("height").value = output.height;
}
}
小提琴:http : //jsfiddle.net/AtheistP3ace/h1pswvk1/
小提琴代码
HTML:
<input id="test" type="file" />
JS:
document.getElementById('test').addEventListener('change',
function (event) {
alert(event.target.files[0].name);
}
);
编辑:对不起,我想我错过了最后一部分,您说您知道您可以从输入中获得它。无论哪种方式,如果yourdocument.getElementById('myimage')
是没有文件名的img标签。唯一的选择是,如果的src
网址具有解析出来的网址,但是从您的代码来看,该img
标签似乎已存在,但是src
直到将文件添加到输入然后以src
编程方式进行设置之前,该标签才存在。如果我错了,请纠正。为什么不希望从可用的地方获得它?为什么只从myimage
元素?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句