Javascript 输入类型文件未正确将图像放入图像标记
我正在做一些事情,问题得到了回答,但我需要它的另一个用途。 我对它的工作原理略知一二 这很好,但当我在代码中这样做时,它会告诉我data.files[0]不起作用,并且被认为是未定义的。它也无法识别FileReader对象 我的代码如下所示,使用JSFIDLE作为示例Javascript 输入类型文件未正确将图像放入图像标记,javascript,jquery,image,file,input,Javascript,Jquery,Image,File,Input,我正在做一些事情,问题得到了回答,但我需要它的另一个用途。 我对它的工作原理略知一二 这很好,但当我在代码中这样做时,它会告诉我data.files[0]不起作用,并且被认为是未定义的。它也无法识别FileReader对象 我的代码如下所示,使用JSFIDLE作为示例 $(function(){ $("input[type='file'].attribute").on("change", function () { updateDesigner(this); }); }); function
$(function(){
$("input[type='file'].attribute").on("change", function () { updateDesigner(this); });
});
function updateDesigner(input){
var t = input;
if ($(input).attr("type") == 'file'){
try{
var data = $(t)[0];
var file = data.files[0]; //<------ FAILS HERE. .files is an undefined attr.
var reader = new FileReader(); //<--- working around it, doesnt understand this object as well
reader.onload = function (e) {
value = e.target.result;
}
reader.readAsDataURL(file);
}catch(errrrr){
alert("error putting image into image tag: "+errrrr.toString());
}
}
srcFunction(value); //takes the value and applied it to the src attr of the image tag.
}
我想通过管道将数据转化为价值,一切都会顺利进行,但我不确定发生了什么。当IE使用一些示例时,这里的问题似乎与网站的信任和安全性有关
要在计算机屏幕上显示静态图像,我需要将其设置为受信任的站点,并将其重新路由到https只需使用input.files[0]。我不知道$t[0]应该做什么?是的,我试过了,但也没用。它说文件未定义等。无法获取属性0的值,它为null或未定义,因为文件似乎未定义。哦,一个大问题:我正在IE中运行。我正在查看对象。键$input[0]和。。。。IE不识别它们中的任何一个,只返回一个jqueryobjectreference字符串。在GoogleChrome中运行它拥有所有的对象,可以绕过这个错误。啊。特定于浏览器的bs很烦人,不要在IE中开发!永远-我希望那是一件事。我必须,根据公司的政策,拥有一个跨越各个领域的web应用程序,并将其回溯到大约IE8