私は何が間違っているのか分かりません。私はAjaxとPHPを使って画像をアップロードできるようにしたい。画像はPHPとAJAXを使用してアップロードされていません
ここが私のコードである
HTML
<form id="edit-stock-image" >
<div class="row">
<div class="col-md-12">
<input type="hidden" name="id" id="stock-id">
<input type="file" class="form-control-file" id="image" name="image" aria-describedby="fileHelp">
</div>
</div>
</div>
<div class="modal-footer edit-stock-image-modal-footer"><br>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="submit" id="save-edit-stock-image" class="btn btn-success ">Upload</button>
</div>
</form>
のjQuery
$(document).on('click', '#save-edit-stock-image', function() {
jQuery.ajax({
url: '../data/stock-control.php?action=edit-stock-image',
type: "POST",
data: new FormData(this),
processData: false, //prevent jQuery from converting your FormData into a string
contentType: false,
success: function(data, textStatus, jqXHR) {
console.log(2);
$('#edit-stock-image-modal').modal('hide');
jQuery('#sc-sub-menu1').load('/tasks/stock-control/stock-control-process.php');
},
error: function(jqXHR, textStatus, errorThrown){
//Display error message to user
alert("An error occured when saving the data");
}
})
});
PHP
if (!($update_stmt = $mysqli_scs->prepare("UPDATE `stock_stk` SET `image_stk`= ? WHERE (`id_stk`= ?) LIMIT 1;"))) {
echo "Prepare failed: (" . $mysqli_scs->errno . ") " . $mysqli_scs->error;
}
if (isset($_POST['id'])) {
$id = $_POST['id'];
}
if (isset($_FILES['image'])) {
$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
}
$update_stmt->bind_param("bi", $image,$id);
//Execute the statement
if (!$update_stmt->execute()) {
echo "{success:false}";
}
// close statement
$update_stmt->close();
}
私はblobを使用して画像を保存しています。ユーザーが画像をブラウズして1つを選択してアップロードボタンをクリックすると、その画像を保存します。
それが機能していないしてくださいTELたち。あなたはどんな価値観を得ていますか?エラー? – MadeInDreams