Guest User

Untitled

a guest
Jan 4th, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.09 KB | None | 0 0
  1. <script>
  2. function uploadphoto()
  3. {
  4. if (window.File && window.FileReader && window.FileList && window.Blob)
  5. {
  6. var files = document.getElementById('filesToUpload').files;
  7. for(var i = 0; i < files.length; i++)
  8. {
  9. resizeAndUpload(files[i]);
  10. }
  11. }
  12. else
  13. {
  14. alert('The File APIs are not fully supported in this browser.');
  15. }
  16. }
  17.  
  18. function resizeAndUpload(file)
  19. {
  20. var reader = new FileReader();
  21. reader.onloadend = function()
  22. {
  23. var tempImg = new Image();
  24. tempImg.src = reader.result;
  25. tempImg.onload = function()
  26. {
  27. var MAX_WIDTH = 695;
  28. var MAX_HEIGHT = 470;
  29. var tempW = tempImg.width;
  30. var tempH = tempImg.height;
  31.  
  32. if (tempW > tempH)
  33. {
  34. if (tempW > MAX_WIDTH)
  35. {
  36. tempH *= MAX_WIDTH / tempW;
  37. tempW = MAX_WIDTH;
  38. }
  39. }
  40. else
  41. {
  42. if (tempH > MAX_HEIGHT)
  43. {
  44. tempW *= MAX_HEIGHT / tempH;
  45. tempH = MAX_HEIGHT;
  46. }
  47. }
  48.  
  49. var canvas = document.createElement('canvas');
  50. canvas.width = tempW;
  51. canvas.height = tempH;
  52. var ctx = canvas.getContext("2d");
  53. ctx.drawImage(this, 0, 0, tempW, tempH);
  54. var dataURL = canvas.toDataURL("image/jpeg");
  55.  
  56. var xhr = new XMLHttpRequest();
  57. xhr.onreadystatechange = function(ev)
  58. {
  59. document.getElementById('filesInfo').innerHTML = 'Done!';
  60. };
  61. xhr.open('POST', 'upload-resized-photo.php', true);
  62.  
  63. xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  64. var data = 'image=' + dataURL;
  65. xhr.send(data);
  66. }
  67. }
  68. reader.readAsDataURL(file);
  69. }
  70. </script>
  71.  
  72.  
  73.  
  74. <form enctype="multipart/form-data" method="post" onsubmit="uploadphoto()">
  75. <div class="row">
  76. <label for="fileToUpload">Select Files to Upload</label><br />
  77. <input type="file" name="filesToUpload[]" id="filesToUpload" multiple="multiple" />
  78. <output id="filesInfo"></output>
  79. </div>
  80. <div class="row">
  81. <input type="submit" value="Upload" />
  82. </div>
  83. </form>
  84.  
  85. <?php
  86. if ($_POST)
  87. {
  88. define('UPLOAD_DIR', 'uploads/');
  89. $img = $_POST['image'];
  90. $img = str_replace('data:image/jpeg;base64,', '', $img);
  91. $img = str_replace(' ', '+', $img);
  92. $data = base64_decode($img);
  93. $file = UPLOAD_DIR . uniqid() . '.jpg';
  94. $success = file_put_contents($file, $data);
  95.  
  96. // I did have the mysql insert here but it didnt even execute. Think it is due to xhr.open post method.
  97. }
  98. ?>
  99.  
  100. if ($_POST)
  101. {
  102. define('UPLOAD_DIR', 'uploads/');
  103. $img = $_POST['image'];
  104. $img = str_replace('data:image/jpeg;base64,', '', $img);
  105. $img = str_replace(' ', '+', $img);
  106. $data = base64_decode($img);
  107. $file = UPLOAD_DIR . uniqid() . '.jpg';
  108. $success = file_put_contents($file, $data);
  109.  
  110. $servername = "localhost";
  111. $username = "root";
  112. $password = "";
  113. $dbname = "test";
  114.  
  115. // Create connection
  116. $conn = new mysqli($servername, $username, $password, $dbname);
  117. // Check connection
  118. if ($conn->connect_error) {
  119. die("Connection failed: " . $conn->connect_error);
  120. }
  121.  
  122. $sql = "INSERT INTO images (image_name)
  123. VALUES ('{$file}')";
  124.  
  125. if ($conn->query($sql) === TRUE) {
  126. echo "New record created successfully";
  127. } else {
  128. echo "Error: " . $sql . "<br>" . $conn->error;
  129. }
  130.  
  131. $conn->close();
  132. }
  133.  
  134. var _validFileExtensions = [".jpg", ".jpeg", ".bmp", ".gif", ".png"];
  135. function Validate(oForm) {
  136. var arrInputs = oForm.getElementsByTagName("input");
  137. for (var i = 0; i < arrInputs.length; i++) {
  138. var oInput = arrInputs[i];
  139. if (oInput.type == "file") {
  140. var sFileName = oInput.value;
  141. if (sFileName.length > 0) {
  142. var blnValid = false;
  143. for (var j = 0; j < _validFileExtensions.length; j++) {
  144. var sCurExtension = _validFileExtensions[j];
  145. if (sFileName.substr(sFileName.length - sCurExtension.length, sCurExtension.length).toLowerCase() == sCurExtension.toLowerCase()) {
  146. blnValid = true;
  147. break;
  148. }
  149. }
  150.  
  151. if (!blnValid) {
  152. alert("Sorry, " + sFileName + " is invalid, allowed extensions are: " + _validFileExtensions.join(", "));
  153. return false;
  154. }
  155. }
  156. }
  157. }
  158.  
  159. return true;
  160. }
  161.  
  162. function uploadphoto(oForm)
  163. {
  164. if(!Validate(oForm)){
  165. return false;
  166. }
  167. if (window.File && window.FileReader && window.FileList && window.Blob)
  168. {
  169. var files = document.getElementById('filesToUpload').files;
  170. for(var i = 0; i < files.length; i++)
  171. {
  172. resizeAndUpload(files[i]);
  173. }
  174. }
  175. else
  176. {
  177. alert('The File APIs are not fully supported in this browser.');
  178. }
  179. return false;
  180. }
  181.  
  182. <form enctype="multipart/form-data" method="post" onsubmit="return uploadphoto(this)">
Add Comment
Please, Sign In to add comment