我正在尝试使用bootstrap-fileupload.js:
http://jasny.github.io/bootstrap/javascript.html#fileupload
但我不确定如何使用上传的图片和删除选项。例如:我想用新上传的图像替换图像。
要替换的图像:
<img class="background" src="img/background.png" style="position: absolute; top: 190px; left: 138px;"/>
根据我的理解,这样的事情应该用JQuery完成:
$('img.background').attr('src','different/path/to/my/image.jpg');
但在我的情况下,这是一张上传的图片 - 我如何获得它的路径?我如何使用删除文件选项?我认为它是这样的?
// if the file is removed
$('img.background').attr('src','img/background.png');
答案 0 :(得分:6)
编辑:我根据需要添加了一个删除上传文件的按钮,如果你不喜欢显示/隐藏效果,只需删除slow
,图片是仅在上传时显示:
$('#blah').hide();
$('#remove').hide();
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#imgInp").change(function(){
if( $('#imgInp').val()!=""){
$('#remove').show();
$('#blah').show('slow');
}
else{ $('#remove').hide();$('#blah').hide('slow');}
readURL(this);
});
$('#remove').click(function(){
$('#imgInp').val('');
$(this).hide();
$('#blah').hide('slow');
$('#blah').attr('src','http://upload.wikimedia.org/wikipedia/commons/thumb/4/40/No_pub.svg/150px-No_pub.svg.png');
});
这是一个人(不是我:)的例子,对我来说会有所帮助,请看下面的代码:
function readPath(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#imgInp").change(function(){
readPath(this);
});
HTML代码:
<form id="form1">
<input type='file' id="imgInp" />
<img id="blah" src="#" alt="your image" />
</form>