使用codeigniter和ajax上传图像
嗨,我正在尝试使用codeigniter和ajax上传一个图像。。上载图像后,错误将显示您尝试上载的文件类型是不允许的。我检查它在上传文件夹没有图像上传。我不知道哪里是我的编码错误有人可以帮我 这是我的观点使用codeigniter和ajax上传图像,ajax,codeigniter,Ajax,Codeigniter,嗨,我正在尝试使用codeigniter和ajax上传一个图像。。上载图像后,错误将显示您尝试上载的文件类型是不允许的。我检查它在上传文件夹没有图像上传。我不知道哪里是我的编码错误有人可以帮我 这是我的观点 <?php defined('BASEPATH') OR exit('No direct script access allowed'); ?><!DOCTYPE html> <html lang="en"> <head> <me
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Welcome to CodeIgniter</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script>
$(document).ready(function(){
$('#upload_form').on('submit',function(e){
e.preventDefault();
if($('#image_file').val()=='')
{
alert("Pls Select the Image File");
}
else{
$.ajax({
url:"<?php echo base_url()?>Upload/uploadFile",
method:"POST",
data:new FormData(this),
contentType:false,
catch:false,
processData:false,
success:function(data){
$('#uploaded_image').html(data);
}
});
}
});
});
</script>
</head>
<body>
<div id="container">
<h3 align="center"><?php echo $title ?></h3>
<form enctype="multipart/form-data" id="upload_form" class="formReset" method="post">
<div class="control-group form-group">
<div class="controls">
<label>Upload Photo:</label>
<input type="file" name="image_file" id="image_file">
<p class="help-block"></p>
</div>
</div>
<button type="submit" class="btn btn-primary" id="upload" name="upload">Submit</button>
</form>
<div id="uploaded_image">
</div>
</div>
</body>
</html>
欢迎来到CodeIgniter
$(文档).ready(函数(){
$('upload_form')。关于('submit',函数(e){
e、 预防默认值();
if($('#图像文件').val()='')
{
警报(“请选择图像文件”);
}
否则{
$.ajax({
url:“上传/上传文件”,
方法:“张贴”,
数据:新表单数据(本),
contentType:false,
陷阱:错,
processData:false,
成功:功能(数据){
$('#上传的"图像').html(数据);
}
});
}
});
});
上传照片:
提交
这是我的控制器编码
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Upload extends CI_Controller {
public function index()
{
$data['title']="Image Upload funtion using ajax in codeigniter";
$this->load->view('Upload',$data);
}
public function uploadFile(){
if(isset($_FILES['image_file']['name'])){
$config['upload_path']='./upload/';
$config['allowed_types']='jpg/jpeg/png/gif';
$config['overwrite']=TRUE;
$config['max_size']='1000000';
$config['max_height']='1000';
$config['max_width']='1000';
$this->load->library('upload', $config);
if(!$this->upload->do_upload('image_file')){
echo $this->upload->display_errors();
}
else{
$data=$this->upload->data();
echo '<img src="'.base_url().'upload/'.$data["file_name"].'"/>';
}
}
}
}
允许的类型应该是管道分隔的,而不是正斜杠
e、 g
可以是数组或管道分隔字符串。u在脚本中没有像那样获取基本url值。。问题已解决。。。。我更改了编码$this->load->library('upload',$config);如果($this->upload->do_upload(“image_file”){$data=array($upload_data'=>$this->upload->data());echo';
$config['allowed_types'] = 'gif|jpg|jpeg|png';