jquery上传在ie9中不起作用

时间:2014-03-28 08:30:12

标签: jquery html upload

嗨,我有一个小问题可以帮助我吗

html部分

<input type="file" id="browse" name="browse" size=""  placeholder="Photo" checked="checked" class="upload"/>
<input type="button" onclick="javascript:onbrowse()"  class="unknown" value="test"/>
<div class="qaq"></div>

css part

.unknown, .qaq, .qaq img {
    width: 200px;
    height: 200px;
}

脚本部分

$(".upload").change(function () {
    var fileObj = this,
        file;

    if (fileObj.files) {
        file = fileObj.files[0];
        var fr = new FileReader;
        fr.onloadend = changeimg;
        fr.readAsDataURL(file)
    } else {
        file = fileObj.value;
        changeimg(file);
    }
});

function onbrowse() {
    document.getElementById('browse').click();
}

function changeimg(str) {
    if(typeof str === "object") {
        str = str.target.result; // file reader
    }

    $(".unknown").css({"background-size":  "100px 100px",
                       "background-image": "url(" + str + ")"});
    $( ".qaq" ).append( "<img src='"+str+"' />" );
} 

jsfiddle示例

http://jsfiddle.net/wU3Vu/

如果添加一些要上传的图片,ie9中的

不显示图片。

但在其他浏览器中它运行正常...请帮助。

由于

1 个答案:

答案 0 :(得分:0)

fileObj.value返回文件系统路径。它不能设置为图像的src属性。

更多细节: 在其他浏览器中,它的工作原理是因为它们支持HTML5 FileAPI功能http://caniuse.com/#feat=fileapi。正如您所看到的,IE9不支持此功能,无法在客户端访问文件。