嗨,我有一个小问题可以帮助我吗
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示例
如果添加一些要上传的图片,ie9中的不显示图片。
但在其他浏览器中它运行正常...请帮助。
由于
答案 0 :(得分:0)
fileObj.value
返回文件系统路径。它不能设置为图像的src属性。
更多细节: 在其他浏览器中,它的工作原理是因为它们支持HTML5 FileAPI功能http://caniuse.com/#feat=fileapi。正如您所看到的,IE9不支持此功能,无法在客户端访问文件。