Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

html5 Image upload

I'm trying to make a VERY simple image uploader in html5.

<input type="file" multiple=""/>

All I would like to do is display what is uploaded without using PhP or anything. Could I use code similar to this?

<img src="WHATEVER WAS UPLOADED"/>

Thanks!

like image 665
dualCore Avatar asked Jan 17 '12 05:01

dualCore


People also ask

How can I upload image in HTML?

Copy and paste your image URL into an IMG tag, add a SRC to it. Identify first where you'd like to place your image within the HTML and insert the image tag, <img>. Then take your uploaded image, copy the URL and place it within your img parameters prefaced by a src.

How do I upload an image to a web server?

Upload using an FTP program or image hosting service. Use your web server's hyperlink function to link your URL. Alternatively, link to the image using the page's HTML code. You must be able to identify the image's permanent location to be able to serve it to your visitors.

How do I upload a image?

On a computer, this will usually entail clicking the Pictures or Photos section of the window that appears, clicking the photo that you want to upload, and clicking Open. On most phones and tablets, tapping the "Upload Photo" option will open your camera roll directly.

How do you upload a file to a website using HTML?

HTML allows you to add the file upload functionality to your website by adding a file upload button to your webpage with the help of the <input> tag. The <input type=”file”> defines a file-select field and a “Browse“ button for file uploads.


1 Answers

i found

http://www.html5rocks.com/en/tutorials/file/dndfiles/

rather helpful.

if you dont want to push the image to some server ( i assume this from your question ), you can just update the image locally :

<style>
  .thumb {
    height: 75px;
    border: 1px solid #000;
    margin: 10px 5px 0 0;
    }
 </style>

<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>

<script>
  function handleFileSelect(evt) {
    var files = evt.target.files; // FileList object

   // Loop through the FileList and render image files as thumbnails.
   for (var i = 0, f; f = files[i]; i++) {

     // Only process image files.
     if (!f.type.match('image.*')) {
       continue;
     }

     var reader = new FileReader();

     // Closure to capture the file information.
     reader.onload = (function(theFile) {
       return function(e) {
          // Render thumbnail.
          var span = document.createElement('span');
          span.innerHTML = ['<img class="thumb" src="', e.target.result,
                        '" title="', escape(theFile.name), '"/>'].join('');
          document.getElementById('list').insertBefore(span, null);
    };
      })(f);

      // Read in the image file as a data URL.
      reader.readAsDataURL(f);
    }
  }

  document.getElementById('files').addEventListener('change', handleFileSelect, false);

 </script>

or somesuch.

like image 170
k1dbl4ck Avatar answered Sep 21 '22 12:09

k1dbl4ck