开发者问题收集

如何在 HTML 上传之前预览图像?

2014-07-05
3694

我修改了该函数

<script>
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]);
    }
}
$("#upload").change(function() {
    readURL(this);
});
</script>

并在表单的 body 元素中包含了此输入:

<input type="file" name="uploaded_files" id="upload"/>
<img id="blah" src="#" alt="your image" />

我还包含了 jQuery:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

它在 JsFiddle 中可以运行,但在我的本地主机上却不行。

2个回答

您所做的绝对没有错,您的脚本 JS 块也没有错。您可以去检查一下这个 JSFiddle


只需确保您正确加载了 jQuery 库,因为您的脚本依赖于它。

tmarwen
2014-07-05

尝试类似

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(){
    readURL(this);
});

演示

cracker
2014-07-05