Java脚本文件阅读器如何使它成为多文件阅读器?

时间:2018-10-22 09:58:59

标签: javascript

我不是JS方面的佼佼者,但我的网站需要它,我希望能够读取我选择的文件。

这是输入。

  <form name="filUpload" action="" method="post" enctype="form-data">
                        <div class="form-group">
                            <label for="name">Name</label>
                            <input type="text" name="name" id="name" class="form-control" value="" placeholder="name">
                        </div>
                        <!-- Image upload start -->
                            <div class="form-group">
                                <label for="Top">Top</label>
                                <input onchange="readURL(this, '#thumbnail-Top');"  class="form-control-file" type="file" name="userfile"/>
                            </div>
                            <div class="form-group">
                                <label for="Bottom">Bottom</label>
                                <input onchange="readURL(this);"  class="form-control-file" type="file" name="userfile"/>
                            </div>
                            <div class="form-group">
                                <label for="Left">Left</label>
                                <input onchange="readURL(this);"  class="form-control-file" type="file" name="userfile"/>
                            </div>
                                <label for="Right">Right</label>
                            <div class="form-group">
                                <input onchange="readURL(this);"  class="form-control-file" type="file" name="userfile"/>
                            </div>
                        </div>
                        <!-- Image upload end -->
                        <div class="input-group">
                            <input type="submit" style="" class="btn btn-success m-3" value="Submit" name="btn_type_send" />
                        </div>
                    </form>

这是显示图片的地方id =“ thumbnail -...”是下面的脚本中使用的那个。我知道这在脚本中不正确,但是我认为这是我遇到的问题。     我将在脚本部分进行解释。

    <div class="">
           <div class="card m-2">
           <h4 class="card-header text-center">Images</h4>

                    <div class="d-flex">
                        <div class="flex-fill">
                        <h5 class="card-header">Top</h5>
                            <div class="card-body">
                                <img class="card-img text-center" alt="" id="thumbnail-Top" src="#" style=""/>
                            </div>
                        </div>

                        <div class="flex-fill">
                        <h5 class="card-header">Bottom</h5>
                            <div class="card-body">
                                <img class="card-img text-center" alt="" id="thumbnail-Bottom" src="#" style=""/>
                            </div>
                        </div>

                        <div class="flex-fill">
                        <h5 class="card-header">Left</h5>
                            <div class="card-body">
                                <img class="card-img text-center" alt="" id="thumbnail-Left" src="#" style=""/>
                            </div>
                        </div>

                        <div class="flex-fill">
                        <h5 class="card-header">Right</h5>
                            <div class="card-body">
                                <img class="card-img text-center" alt="" id="thumbnail-Right" src="#" style=""/>
                            </div>
                        </div>

                    </div>

           </div>
        </div>

这是脚本。我认为我的问题是我需要选择多个ID,而我不知道如何选择。我希望能够为每个类别“上,下,左,右”选择1张图像。而且,如果可能的话,我也必须在另一面使用它,因为只有两面相同,所以只有3个类别。

#thumbnail是我在说的ID。

<script type="text/javascript">
    function readURL(input, id) {
        if (input.files && input.files[0]) {
            var reader = new FileReader();
            reader.onload = function (e) {
            $(id).attr('src', e.target.result);
        }
            reader.readAsDataURL(input.files[0]);
        }
    }
</script>

实例将不胜感激!

1 个答案:

答案 0 :(得分:0)

@misorude给出了答案

输入内容需要正确的onchange =“ readURL();”像这样:

  <form name="filUpload" action="" method="post" enctype="form-data">
                    <div class="form-group">
                        <label for="name">Navn</label>
                        <input type="text" name="name" id="name" class="form-control" value="" placeholder="name">
                    </div>
                    <!-- Image upload start -->
                        <div class="form-group">
                            <label for="top">Top billede</label>
                            <input onchange="readURL(this, '#thumbnail-Top');"  class="form-control-file" type="file" name="userfile" id="file" />
                        </div>
                        <div class="form-group">
                            <label for="bottom">Bund billede</label>
                            <input onchange="readURL(this, '#thumbnail-Bottom');"  class="form-control-file" type="file" name="userfile" id="file" />
                        </div>
                        <div class="form-group">
                            <label for="venstre-side">venstre-side</label>
                            <input onchange="readURL(this, '#thumbnail-Left');"  class="form-control-file" type="file" name="userfile" id="file" />
                        </div>
                            <label for="hoejre-side">højre-side</label>
                        <div class="form-group">
                            <input onchange="readURL(this, '#thumbnail-Right');"  class="form-control-file" type="file" name="userfile" id="file" />
                        </div>
                    </div>
                    <!-- Image upload end -->
                    <div class="input-group">
                        <input type="submit" style="" class="btn btn-success m-3" value="Submit" name="btn_type_send" />
                    </div>
                </form>

应该在哪里显示图像,看起来像“它的样式不是真的”。

<div class="card m-2">
       <h4 class="card-header text-center">Images</h4>

                <div class="d-flex">
                    <div class="flex-fill">
                    <h5 class="card-header">Top</h5>
                        <div class="card-body">
                            <img class="card-img text-center" alt="" id="thumbnail-Top" src="#" style=""/>
                        </div>
                    </div>

                    <div class="flex-fill">
                    <h5 class="card-header">Bottom</h5>
                        <div class="card-body">
                            <img class="card-img text-center" alt="" id="thumbnail-Bottom" src="#" style=""/>
                        </div>
                    </div>

                    <div class="flex-fill">
                    <h5 class="card-header">Left</h5>
                        <div class="card-body">
                            <img class="card-img text-center" alt="" id="thumbnail-Left" src="#" style=""/>
                        </div>
                    </div>

                    <div class="flex-fill">
                    <h5 class="card-header">Right</h5>
                        <div class="card-body">
                            <img class="card-img text-center" alt="" id="thumbnail-Right" src="#" style=""/>
                        </div>
                    </div>

                </div>

       </div>

脚本如下所示,函数readURL已更正,并且$(id)也已得到纠正。

<script type="text/javascript">
function readURL(input, id) {
    if (input.files && input.files[0]) {
        var reader = new FileReader();
        reader.onload = function (e) {
        $(id).attr('src', e.target.result);
    }
        reader.readAsDataURL(input.files[0]);
    }
}