使用 AJAX 图片上传到 MySQL 数据库并不直接,必须是在服务器上存储图片位于的文件路径的字符串。PHP 脚本来处理文件上传和保存到数据库。
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
// insert into database
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO images (ImagePath) VALUES ('$target_file')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
然后,你可以使用 AJAX 上传文件:
var formData = new FormData();
formData.append('fileToUpload', $('input[type=file]')[0].files[0]);
$.ajax({
url : 'upload.php',
type : 'POST',
data : formData,
processData: false,
contentType: false,
success : function(data) {
console.log(data);
alert(data);
}
});
以上示例脚本只是一个基本的实现,实际开发中还是需要考虑更多的因素,比如图片文件的大小与类型检查,错误处理,文件命名避免冲突等等。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/169428.html