ПРОБЛЕМА
Привет, я раскрываю проблему, которая сохраняется в течение дня. На моем сайте есть Ajax-загрузка многих изображений, сохраненных в кодировке base64 в базе данных с PHP. Этот запрос, очевидно, также требует нескольких минут в случае, если строки BLOB-объектов base64 достаточно велики.
Сначала я попытался закодировать эту строку base64 в File и вернуть ее в Ajax таким образом, чтобы преобразовать ее обратно в base64 с помощью методов FileReader и избежать задержек задержки, но я не нашел никакого решения.
Я пытался решить эту проблему, пытаясь сохранить изображение в определенном каталоге на моем сайте и сохранить его URL-адрес в базе данных, чтобы вставить его в атрибут "src" элемента "" один раз. верните его Аяксу.
Я новичок в PHP, и эти процедуры не так просты. Проблема в том, что я нахожу способ загрузки в определенный каталог напрямую из PHP.
Надеюсь, в вашем решении или идее другой режим спасения.
HTML
<div class="container" align="center">
<form align="center" id="myForm" action = "https://giuseppemondelli.altervista.org/php/formTest.php">
<label>Select Image</label>
<input id="file" name="file" type="file"/>
<button name="submit" type="submit">Submit</button>
<img id="preview" alt="YOURIMAGE" src="#" height="150px" width="150px">
</form>
</div>
PHP
<?php
if($_FILES["file"]["name"] != '')
{
$connessione = mysqli_connect('localhost','giuseppemondelli','') or die (mysqli_errno ($connessione). mysqli_error ($connessione));
$db = mysqli_select_db($connessione, "my_giuseppemondelli") or die ('Database non trovato!');
$fileName = $_FILES["file"]["name"];
$fileTmpName = $_FILES["file"]["name"];
$fileExtention = strtolower(pathinfo($fileName ,PATHINFO_EXTENSION));
$fileRoundName = round(microtime(true)) . mt_rand() . '.' . $fileExtention;
$filePath = '/uploads/' . $fileRoundName;
$destination = $_SERVER['DOCUMENT_ROOT'] . $filePath;
if(!move_uploaded_file($fileTmpName, $destination))
{
echo "Impossibile caricare il file";
}
else
{
$protocol = stripos($_SERVER['SERVER_PROTOCOL'],'https') === true ? 'https://' : 'http://';
$domain = $protocol . $_SERVER['SERVER_NAME'];
$url = $domain . $path;
$query = "INSERT INTO Files(File) VALUES ('$url')";
mysqli_query($connessione, $query);
}
/*$query2 = "SELECT File FROM Files";
$risultato2 = mysqli_query($connessione, $query2);
while($row = mysqli_fetch_assoc($risultato2))
{
echo $row['File'];
}*/
mysqli_close($connessione);
}
?>
AJAX
$(function() //form
{
$(document).on('submit', '#myForm', function(event)
{
$.ajax(
{
type: 'POST',
url: 'http://giuseppemondelli.altervista.org/php/formTest.php',
data: formData,
contentType: false,
cache: false,
processData: false,
success: function(data)
{
console.log(data);
}
});
event.preventDefault();
event.stopPropagation();
});
});