【发布时间】:2017-02-28 07:18:05
【问题描述】:
您好,我正在尝试使用 codeigniter 和 ajax 上传图像。一旦我上传图像,错误将显示不允许您尝试上传的文件类型。我在上传文件夹中检查它没有上传图像。我不知道我的编码中的错误在哪里,任何人都可以帮助我...
这是我的视图编码
<?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>
这是我的控制器编码
<?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"].'"/>';
}
}
}
}
【问题讨论】:
-
你没有像那样在脚本中获得基本 url 值..
-
问题解决了....我改变了我的编码 $this->load->library('upload', $config); if($this->upload->do_upload("image_file")){ $data = array('upload_data' => $this->upload->data()); echo '';
标签: ajax codeigniter