2016-03-13 3 views
2

Возможно ли загрузить изображение html2canvas в базу данных. Басически, когда я нажимаю кнопку «Сохранить», он перенаправляет меня на save.php, где я вижу скриншот, который я сделал, просматриваю изображение и просматриваю изображение локально на локальном сервере.Загрузить изображение html2canvas в базу данных

Главный вопрос: может ли быть создана форма, где на save.php я смогу сохранить изображение как случайное число (и т.д. 32245652226225.jpg) в определенную папку и вставить значение в базу данных со значениями : img_name, img_date

Тогда я мог бы извлечь все изображения из базы данных и отсортировать их по дате. Буду признателен за любую помощь.

Это результат я получил result

Это мой index.php

\t function capture() { 
 
\t \t $('#target').html2canvas({ 
 
\t \t \t onrendered: function (canvas) { 
 
       //Set hidden field's value to image data (base-64 string) 
 
\t \t \t \t $('#img_val').val(canvas.toDataURL("image/png")); 
 
       //Submit the form manually 
 
\t \t \t \t document.getElementById("myForm").submit(); 
 
\t \t \t } 
 
\t \t }); 
 
\t }
<form method="POST" enctype="multipart/form-data" action="save.php" id="myForm"> 
 
\t <input type="hidden" name="img_val" id="img_val" value="" /> 
 
</form> 
 
<input type="submit" value="Sacuvaj" onclick="capture();" /> 
 

 
<div id="target"> 
 
    <h1>TESTING</h1> 
 
</div>

И это save.php

<?php 
 
//Get the base-64 string from data 
 
$filteredData=substr($_POST['img_val'], strpos($_POST['img_val'], ",")+1); 
 

 
//Decode the string 
 
$unencodedData=base64_decode($filteredData); 
 

 
//Save the image 
 
file_put_contents('slika.jpg', $unencodedData); 
 
?> 
 
<h2>Screenshoot</h2> 
 
<table> 
 
    <tr> 
 
     <td> 
 
      <a href="slika.jpg" target="blank">folder</a> 
 
     </td> 
 
     <td align="right"> 
 
      <a href="index.php">nazad</a> 
 
     </td> 
 
    </tr> 
 
    <tr> 
 
     <td colspan="2"> 
 
      <br /> 
 
      <br /> 
 
\t \t \t <span> 
 
\t \t \t 
 
\t \t \t </span> 
 
      <br /> 
 
<?php 
 
//Show the image 
 
echo $_POST['img_val']; 
 
echo '<img class="img-responsive" src="'.$_POST['img_val'].'" />'; 
 
?> 
 
     </td> 
 
    </tr> 
 
</table> 
 
<style type="text/css"> 
 
body, a, span { 
 
\t font-family: Tahoma; font-size: 10pt; font-weight: bold; 
 
} 
 
img{ 
 
\t width:400px; 
 
} 
 
</style>

+0

Да, вы можете сохранить его, используя PHP. Расскажите, что вы пробовали до сих пор ... У вас должно быть «BASE64» изображения для быть загружен .. Вы можете преобразовать эти данные в файл изображения по серверу. – Rayon

+0

Да, извините за код, я загружу rusult я получил до сих пор и code.thank вы – Elisimo

+0

Хорошо, поэтому я загрузил свое изображение результата и мой код , Любые идеи, как решить то, что мне нужно. Заранее спасибо. – Elisimo

ответ

0

Ответ ДА;)

Я имею в виду, кажется, что вы нашли кусочки головоломки сами уже:

  • захвата экрана на клиенте
  • представить, что с помощью формы в сервер
  • напишите мета-информацию, такую ​​как дата записи, в базу данных, которая возвращает вам уникальные идентификационные номера (любой номер ID)
  • copy th e файл в папку с именем файла, придерживающимся идентификатора файла (и добавьте некоторую логику для создания новой вложенной папки на каждые 4 цифры вашего идентификатора файла)
  • есть еще один скрипт, который поможет вам искать изображения и отображать их

Если вы действительно попросите бесплатное кодирование, мне жаль, что я не могу вам помочь. В любом случае, для доступа к базам данных есть хорошие учебные пособия, если у вас просто нет базовых знаний на этом крае.


КПП. возможно, рендеринг html на img на стороне сервера может быть даже лучше: Convert HTML to image in php

Смежные вопросы