IE 8 - .files属性的解决方案



我一直在努力弄清楚如何在创建项目后将文档附加到SharePoint列表。我能够在网上找到这样做的代码;然而,在不同的浏览器中测试代码后,由于.files属性,它不能在ie8和ie9中工作。有什么办法可以绕开这个问题吗?

function addAttachments(itemId)
{
    var filereader = {}, file= {}; 
/* Here --------> */var files = document.getElementById('myfile').files; 
    for(var j=0; j< files.length; j++)
    {
        file = files[j]; 
        filereader = new FileReader(); 
        filereader.filename = file.name; 
        filereader.onload = function(){
            var data = this.result
            n = data.indexOf(";base64,") + 8; 
            data = data.substring(n); 
            $().SPServices({
                operation: "AddAttachment", 
                listName:'Test', 
                asynch: false, 
                listItemID: itemId, 
                fileName: this.filename, 
                attachment: data, 
                completefunc: function (xData, Status){
                }
            }); 
        }; 
        filereader.onabort = function (){
        }; 
        filereader.onerror = function(){
        }; 
        filereader.readAsDataURL(file); 
    }//end of for loop
}

提前感谢您的帮助!

是的,你可以使用polyfill,它在不受支持的浏览器中实现缺失的功能。在Modernizr的HTML5跨浏览器多边形页面上列出了一些文件API的多边形。

最新更新