2 回答
TA贡献1824条经验 获得超5个赞
我能想到三条线索:
用HTML5的File API,Mozilla有个例子,虽然不是所有浏览器都支持,但我推荐这个方案,反正这些懒得去找一款好用的浏览器的人,也不会在乎你有没有这个预览功能。
可用性最广泛的办法是选择了图片后,就把图片用个ajax请求上传到服务器,生成缩略图,取回来显示,但如果你的图片很大,那就没辙了,这样的接口也容易被人用来攻击你的服务器。
再不然就是用flash了,如果用户浏览器的安全选项允许,可以直接操作本地的图片。
TA贡献1820条经验 获得超2个赞
由于安全性的原因,从ie8以上的浏览器就封闭了这个接口,所以返回来的都是fakepath这样的路径,你如果想实现在线预览的话,可以使用HTML5新增的File API来实现,具体的写法你可以这样
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
window.onload=function(){
var file=document.getElementById("file")
file.onchange=function(){
var img=document.createElement("img")
img.src=window.URL.createObjectURL(file.files[0])
img.onload=function(){
window.URL.revokeObjectURL(this.src)
}
document.body.appendChild(img)
}
}
</script>
</head>
<body>
<input type="file" id="file"/>
</body>
</html>
添加回答
举报