Advertisement
johnpavlick

Untitled

Aug 31st, 2013
1,159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 1.85 KB | None | 0 0
  1.  
  2. <html>
  3.   <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  4.   <body>
  5.     <input type="file" name="fileSelector" id="fileSelector"></input><br/>
  6.     <img id="original_image">
  7.     <pre><span id="result"></span></pre>
  8.  
  9.   </body>
  10.   <script>
  11.    function dataURLToBlob(dataURL) {
  12.       var BASE64_MARKER = ';base64,';
  13.       if (dataURL.indexOf(BASE64_MARKER) == -1) {
  14.         var parts = dataURL.split(',');
  15.         var contentType = parts[0].split(':')[1];
  16.         var raw = parts[1];
  17.  
  18.         return new Blob([raw], {type: contentType});
  19.       } else {
  20.         var parts = dataURL.split(BASE64_MARKER);
  21.         var contentType = parts[0].split(':')[1];
  22.         var raw = window.atob(parts[1]);
  23.         var rawLength = raw.length;
  24.  
  25.         var uInt8Array = new Uint8Array(rawLength);
  26.  
  27.         for (var i = 0; i < rawLength; ++i) {
  28.          uInt8Array[i] = raw.charCodeAt(i);
  29.        }
  30.  
  31.        return new Blob([uInt8Array], {type: contentType});
  32.      }
  33.    }
  34.  
  35.    $('#fileSelector').change(function(event) {
  36.        var file = event.target.files[0];
  37.        var reader = new FileReader();
  38.        reader.readAsDataURL(file);
  39.  
  40.        reader.onload = function(event) {
  41.          var base64 = reader.result;
  42.  
  43.          //$('#base64').attr('value', base64);
  44.          var blob = dataURLToBlob(base64);
  45.          var formData = new FormData();
  46.          formData.append('file', blob);
  47.  
  48.          $.ajax({
  49.            url: '/test.php',
  50.            type: 'POST',
  51.            data: formData,
  52.            cache: false,
  53.            contentType: false,
  54.            processData: false,
  55.            success: function(response) {
  56.              $('#result').text(response);
  57.            }
  58.          });
  59.          $('#original_image').attr('src', base64);
  60.        }
  61.    });
  62.  </script>
  63. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement