【发布时间】:2019-06-18 20:48:16
【问题描述】:
我有一个允许用户选择图像的网站。我希望将此图像上传到我的数据库。我正在使用 php 上传并使用 Ajax 函数来传递图像。但是,当我从数据库中打开图像时,看起来图像并没有真正作为图像传递,而是作为 .bin 传递。这是我的 Ajax 函数
<script>
function AddItem(){
var name = document.forms["additemform"]["nc_name"].value;
var tag = document.forms["additemform"]["nc_tag"].value;
var description = document.forms["additemform"["nc_description"].value;
var image = document.forms["additemform"]["nc_image"].value;
var isValid = false;
$.ajax({
type: "POST",
url: "/AddNewItem.php",
data: { "Item_Name": name, "Item_Tag": tag, "Item_Description": description, "Item_Image": image },
dataType: "json",
success: function(resp){
console.log(resp);
if(resp.reply == "Success")
{
isValid = true;
form.submit();
}
else
{
isValid = false;
}
},
error: function(data, status){
console.log(data, status);
alert("error")
}
}); //end Ajax
console.log(isValid);
return isValid;
};
</script>
在我的 AddNewItem.php 文件中,我正在抓取这样的图像:
$itemimage = base64_encode($_POST["Item_Image"]);
在此之后,我只是上传到数据库。上传正常,但看起来我以错误的格式上传。我究竟做错了什么。我需要确保它是一个正在上传的 jpeg,但它是以 .bin 格式上传的。
【问题讨论】:
-
请查看如何使用 jquery 和 PHP 上传图片。 formget.com/ajax-image-upload-php
-
请参阅 StackOverflow 问题。 stackoverflow.com/questions/19447435/ajax-upload-image
-
Ajax Upload image的可能重复
标签: javascript php ajax image jpeg