Adil
Adil

Reputation: 39

How to show name of a file before uploading it.

I want to show the name of a file using Javascript or jQuery before it is uploaded by the server. I've researched about it and instead I learned how to preview an image before it is uploaded. But the file I wish to upload may not be an image so I need to show the name.

Here is the code to show preview of an image, can it be modified to show the name instead?:

HTML:

<form method="post" name="form" enctype="multipart/form-data">
 <input type="file" name="attachment" onchange="read_input(this);" />
</form>

Javascript + jQuery:

function read_input(input) {

    if (input.files && input.files[0]) {

        var reader = new FileReader();

        reader.onload = function (e) {

            result = e.target.result;

            $(".attachment").html('<img src="'+result+'" alt="preview" />');

        }

        reader.readAsDataURL(input.files[0]);

    }

}

Upvotes: 2

Views: 845

Answers (1)

PSR
PSR

Reputation: 40358

document.getElementById('upload').onchange = uploadOnChange;

function uploadOnChange() {
    var filename = this.value;
    var lastIndex = filename.lastIndexOf("\\");
    if (lastIndex >= 0) {
        filename = filename.substring(lastIndex + 1);
    }
    document.getElementById('filename').value = filename;
}

Upvotes: 3

Related Questions