Javascript FileReader.readAsDataURL不适用于IE10中的某些文件类型

Javascript FileReader.readAsDataURL不适用于IE10中的某些文件类型,javascript,filereader,Javascript,Filereader,这是type=“file”的输入。这在选择多个文件类型时有效。但是,对于某些文件类型,e.target.result(包括tiff)总是返回空值 $('#file').on('change', function (e) { if (FileReader) { var reader = new FileReader(); reader.onload = function (e) { var data = e.target.result;

这是type=“file”的输入。这在选择多个文件类型时有效。但是,对于某些文件类型,e.target.result(包括tiff)总是返回空值

$('#file').on('change', function (e) {
    if (FileReader) {
       var reader = new FileReader();
        reader.onload = function (e) {
            var data = e.target.result;
        };
        reader.onloadend = function (x) {
            var other = x.target.result;
        };
        reader.onerror = function (error) {

        };
        reader.readAsDataURL(e.target.files[0]);
    }
});
onloadend的结果与onload相同,onerror永远不会被命中


请注意,这似乎是IE10的问题。它在IE11、Chrome和FireFox中运行良好。我的操作系统是Server 2012。

旁注:
如果(FileReader){
不是测试文件API的好方法,如果它不存在,它将抛出异常。您可能是指
如果(FileReader的类型!=“undefined”){
,不会。我猜你在IE上达到了
数据的大小限制:
URI。是的。我尝试了一个较小的tiff,它在IE10中工作。我得到了一个结果。有没有办法增加限制?我不知道。为什么你需要它作为
数据:
URI,而不是实际数据?尝试在asmx服务上匹配合同e我正在使用。它希望以字节[]的形式接收数据。我们有一个使用该服务的现有Silverlight应用程序,我们希望重用它。显然,Silverlight在现有应用程序中调用该服务的事实没有遇到任何文件大小问题。旁注:
if(FileReader){
不是测试文件API的好方法,如果它不存在,它将抛出异常。您可能是指
如果(文件阅读器的类型!=“未定义”){
,不会。我猜你在IE上达到了
数据的大小限制:
URI。是的。我尝试了一个较小的tiff,它在IE10中工作。我得到了一个结果。有没有办法增加限制?我不知道。为什么你需要它作为
数据:
URI,而不是实际数据?尝试在asmx服务上匹配合同e我正在使用。它希望以字节[]的形式接收数据。我们有一个使用该服务的现有Silverlight应用程序,我们希望重用它。显然,Silverlight在现有应用程序中调用该服务的事实没有遇到任何文件大小问题。旁注:
if(FileReader){
不是测试文件API的好方法,如果它不存在,它将抛出异常。您可能是指
如果(文件阅读器的类型!=“未定义”){
,不会。我猜你在IE上达到了
数据的大小限制:
URI。是的。我尝试了一个较小的tiff,它在IE10中工作。我得到了一个结果。有没有办法增加限制?我不知道。为什么你需要它作为
数据:
URI,而不是实际数据?尝试在asmx服务上匹配合同e我正在消费。它希望以字节[]的形式接收数据。我们有一个使用该服务的现有Silverlight应用程序,我们希望重用它。显然,Silverlight在现有应用程序中调用该服务的事实没有遇到任何文件大小问题。
e.target.result = null or empty (for some file types)
e.target.error = null.  
e.target.readyState = 2.
e.total is always a large positive number.