1

Javascript の初心者で、入力ファイル を受け取るプログラムを書きたいと思っています。filenames.txt各行をテストして、256 文字を超えるファイル パスが含まれているかどうかを確認し、結果を画面上のテキストとシリアライズ可能な形式の両方として出力します。 .csv

これが私がこれまでに持っているコードです。選択したファイルにアクセスし、256文字を超えるパスを解析する方法を尋ねています

<html>

<head>
    <title>256 character finder</title>
    <link href="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet">
    <link href="https://netdna.bootstrapcdn.com/font-awesome/3.0.2/css/font-awesome.css" rel="stylesheet">
    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
</head>


<body>

    Pick a file:
    <br>
    <input id="lefile" type="file" style="display:none">

    <div class="input-append">
       <input id="fileSelect" class="input-large" type="text">
       <a class="btn" onclick="$('input[id=lefile]').click();">Browse</a>
    </div>

    <div>
        <input type="text" value="whatever" class="field left" readonly>
    </div>

</body>

<script type="text/javascript">

    $(document).ready(function() {
        $('input[id=lefile]').change(function() {
           $('#fileSelect').val($(this).val());
        });

    }

</script>

</html>
4

1 に答える 1

2

http://jsfiddle.net/Fcg2X/

これを試して:

$(document).ready(function() {
    $('[type=file]').change(function() {
        if (!("files" in this)) {
            alert("File reading not supported in this browser");
        }
        var file = this.files && this.files[0];
        if (!file) {
            return;
        }
        var fileReader = new FileReader();
        fileReader.onload = function(e) {
            var text = e.target.result;
            //do something with text
            document.body.innerHTML = text;
        };
        fileReader.readAsText(this.files[0]);
    });
});

ところで、サポートしていないブラウザには IE9 が含まれているので注意してください。ただし、FirefoxとChromeで何年も働いています。

于 2013-03-07T22:14:27.667 に答える