Php 使用Ajax、jQuery和Codeigniter上传图像
我正在尝试添加一个特性,可以使用Codeigniter、Ajax和jQuery将图像附加到表单中。表单提交,当我检查数据库中的图像文件时,它似乎没有任何内容。通常他们使用FormData,但我已经开始使用这个方法了。我想知道我是否有办法这样做 这是我的密码 jQueryPhp 使用Ajax、jQuery和Codeigniter上传图像,php,jquery,ajax,codeigniter,Php,Jquery,Ajax,Codeigniter,我正在尝试添加一个特性,可以使用Codeigniter、Ajax和jQuery将图像附加到表单中。表单提交,当我检查数据库中的图像文件时,它似乎没有任何内容。通常他们使用FormData,但我已经开始使用这个方法了。我想知道我是否有办法这样做 这是我的密码 jQuery $('#addForm').submit(function(event){ var emp_id = $("#agentNames").val(); var campaign = $("#add
$('#addForm').submit(function(event){
var emp_id = $("#agentNames").val();
var campaign = $("#addCampaign").val();
var k_type = $("#addKudosType").val();
var c_name = $("#addCustomerName").val();
var p_number = $("#addPhoneNumber").val();
var e_add = $("#addEmailAdd").val();
var comment = $("#addCustomerComment").val();
var supervisor = $("#addSupervisor").val();
var file = $("#addFile").val();
var p_reward = $("#addPrefReward").val();
var pfrd = $("#addProofreading").val();
var k_card = $("#addKudosCard").val();
var r_status = $("#addRewardStatus").val();
dataString = "emp_id="+emp_id+"&campaign="+campaign+"&k_type="+k_type+"&c_name="+c_name+"&p_number="+p_number+"&e_add="+e_add+"&comment="+comment+"&supervisor="+supervisor+"&file="+file+"&p_reward="+p_reward+"&pfrd="+pfrd+"&k_card="+k_card+"&r_status="+r_status;
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>index.php/Kudos/addKudos/",
data: dataString,
cache: false,
success: function(html)
{
alert("Succesfully Added!");
location.reload();
}
});
event.preventDefault();
});
模型
}
谢谢。数据库没有任何文件,因为您没有提交任何文件。您没有显示任何HTML,但必须具有以下内容:
<input type="file" id="addfile">
它将返回文件名或空字符串,因为使用
val()
无法获取文件内容(或图像)。您需要寻找另一种方法来使用AJAX上传包含文件内容的表单数据。检查此问题:问题希望您能找到一些解决疑难问题的方法。请转到浏览器开发人员控制台中的“网络”选项卡,并在控制器中执行变量转储($\u POST)。您的数据字符串似乎是为获取而编写的,但不确定这将如何实现。
function add_kudos($emp_id,$campaign,$k_type,$c_name,$p_number,$e_add,$comment,$supervisor,$picture,$p_reward,$pfrd,$k_card,$r_status)
{
$emp_id1 =mysqli_real_escape_string($this->db->conn_id,trim($emp_id));
$campaign1 =mysqli_real_escape_string($this->db->conn_id,trim($campaign));
$k_type1 =mysqli_real_escape_string($this->db->conn_id,trim($k_type));
$c_name1 =mysqli_real_escape_string($this->db->conn_id,trim($c_name));
$p_number1 =mysqli_real_escape_string($this->db->conn_id,trim($p_number));
$e_add1 =mysqli_real_escape_string($this->db->conn_id,trim($e_add));
$comment1 =mysqli_real_escape_string($this->db->conn_id,trim($comment));
$supervisor1 =mysqli_real_escape_string($this->db->conn_id,trim($supervisor));
$file1 =mysqli_real_escape_string($this->db->conn_id,trim($picture));
$p_reward1 =mysqli_real_escape_string($this->db->conn_id,trim($p_reward));
$pfrd1 =mysqli_real_escape_string($this->db->conn_id,trim($pfrd));
$k_card1 =mysqli_real_escape_string($this->db->conn_id,trim($k_card));
$r_status1 =mysqli_real_escape_string($this->db->conn_id,trim($r_status));
$query = $this->db->query("insert into tbl_kudos(emp_id,acc_id,kudos_type,client_name,phone_number,client_email,comment,uid,file,reward_type,proofreading,kudos_card,reward_status,is_given) values('$emp_id1','$campaign1','$k_type1','$c_name1','$p_number1','$e_add1','$comment1','$supervisor1','$file1','$p_reward1','$pfrd1','$k_card1','$r_status1',now())");
<input type="file" id="addfile">
var file = $("#addFile").val();