【发布时间】:2013-09-29 11:51:07
【问题描述】:
我想在点击上传按钮之前显示上传的图片。我试过但它不起作用,请检查我下面的代码。当我选择要加载的图像时,不会出现任何图像,在萤火虫的帮助下,我发现我的代码正在制作奇怪的 url。你也可以在这里查看小提琴:http://jsfiddle.net/XdXLJ/
脚本
$(document).ready(function(e) {
$('#upload').click(function(){
$('input[type="file"]').show().focus().click().hide();
$('input[type="file"]').change(function(){
var val = $('this').val;
$('.img').append('<img src="'+val+'" />')
})
})
})
HTML
<form id="form1" name="form1" method="post" action="">
<input name="" type="file" />
<div id="upload">Upload</div>
<div class="img"></div>
</form>
风格
#upload{float:left; padding:8px 10px; color:#000; background:#CCC; border:1px solid #000;}
input[type="file"]{display:none;}
【问题讨论】:
-
这不会像您期望的那样工作,因为通常浏览器会在上传之前伪造图像的路径。为了实现这一点,您需要使用 HTML5 或其他方法。
-
您的要求是否也需要它在 IE 中工作?如果是,那么您将不得不在其他表单的帮助下实际提交表单之前将图像保存在服务器上的某个位置
-
我只考虑 IE9 及更高版本.. 请分享任何示例
标签: jquery file-upload