簡體   English   中英

圖片未在php codeigniter中上傳且沒有響應

[英]Image is not uploading in php codeigniter and getting no response

我正在使用jquery在codeigniter中創建文件上傳系統。 但是我在這方面遇到了一些問題。 我正在獲取文件名。 但是我不知道為什么它沒有在服務器上上傳文件。 它沒有在控制台中給我任何響應。請告訴我是否缺少任何內容。

我的Jquery代碼在按鈕上單擊

 var post_data = $('#post').val();
        if (!$('#post').val()) {
            // console.log('hit');
            // alert($('input[type=file]').val());

        if (typeof FormData !== 'undefined') {

        // send the formData
        var formData = new FormData( $("#formname")[0] );

        $.ajax({
            url : 'Profile/uploadimg',  // Controller URL
            type : 'POST',
            data : formData,
            async : false,
            cache : false,
            contentType : false,
            processData : false,
            success : function(data) {
                console.log(data);
            }
        });

    } else {
       message("Your Browser Don't support FormData API! Use IE 10 or Above!");
    }   

這是我的控制器代碼

public function uploadimg()
    {
    $var = $_FILES ['fileUp'];
    //print_r($var);
     if($this->input->post('fileupload')) {

    $config['upload_path'] = 'upload'; 
    $config['file_name'] = $var;
    $config['overwrite'] = 'TRUE';
    $config["allowed_types"] = 'jpg|jpeg|png|gif';
    $config["max_size"] = '1024';
    $config["max_width"] = '400';
    $config["max_height"] = '400';
    $this->load->library('upload', $config);

    if(!$this->upload->do_upload()) {               
        $this->data['error'] = $this->upload->display_errors(); 

        print_r( 'error');
    } else { 
        print_r("success");                                      
    }

}

我的html表格

<form enctype="multipart/form-data" name="formname" id="formname"  method="post" action="">
 <div class="post-menu col-lg-7 col-sm-7 col-xs-12">
              <ul>
                <li><a href="javascript:void(0)"><img src="<?php echo base_url(); ?>img/camera1.png" alt="Uplod photo" id="imgupload" ></a>
                <input type="file" id="fileupload" name="fileUp" class="hidden" accept="image/*">
                </li>
                <li><a href=""><img src="<?php echo base_url(); ?>img/add-peopel.png" alt="Add Friend" ></a></li>
                <li><a href=""><img src="<?php echo base_url(); ?>img/add-location.png" alt="Location" ></a></li>
              </ul>
            </div>
            <div class="post-right col-lg-5 col-sm-5 col-xs-12">
              <ul>
                <li><a href="" class="slt"><img src="<?php echo base_url(); ?>img/frends.png" alt="friends"> Friends <img src="<?php echo base_url(); ?>img/arrow.png" alt="Droop Down"> </a></li>
                <li><input type="button" class="bt1" value="Post" id="post_button"></li>
              </ul>
            </div>
</form>

請嘗試讓我知道。 您的ajax請求

$(document).on("submit",'#formname',function(event){
    var form = $('#formname').get(0); 
    var formData = new FormData(form);  
    $.ajax({
      type: "POST",
      url: "<?php echo site_url("Profile/uploadimg"); ?>",
      data: formData,
      dataType: 'jSon',
      xhr: function() {
            var myXhr = $.ajaxSettings.xhr();
            return myXhr;
      },
      cache:false,                    
      contentType: false,
      processData: false,
      success: function(result){
        console.log(result);
      }                       
    });
    event.preventDefault();
});

和控制器代碼:-

public function uploadimg()
{
    $var = $_FILES ['fileUp'];
    $config['upload_path'] = 'upload'; 
    $config['overwrite'] = 'TRUE';
    $config["allowed_types"] = 'jpg|jpeg|png|gif';
    $config["max_size"] = '1024';
    $config["max_width"] = '400';
    $config["max_height"] = '400';
    $this->load->library('upload', $config);

    if(!$this->upload->do_upload('fileUp')) 
    {               
        $this->data['error'] = $this->upload->display_errors(); 
        echo json_encode(array("result"=>$this->data['error']));
        exit;
    } 
    else 
    { 
        echo json_encode(array("result"=>"Success"));
        exit;                                   
    }
}

mimeType:"multipart/form-data"到您的ajax調用中,例如:

    $.ajax({
        url : 'Profile/uploadimg',  // Controller URL
        type : 'POST',
        data : formData,
        mimeType:"multipart/form-data",
        async : false,
        cache : false,
        contentType : false,
        processData : false,
        success : function(data) {
            console.log(data);
        }
    });

還要確保您的表單標記具有屬性enctype="multipart/form-data"

注釋以下行: $config['file_name'] = $var; 您可以按以下方式獲取上載的文件數據(添加到print_r("success");之上):

$uploadFileData = $this->upload->data();
$uploadFileName = (isset($uploadFileData['file_name']) && trim($uploadFileData['file_name']))? $uploadFileData['file_name'] : '';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM