1

ここで何が間違っているのかわかりません。

コントローラ

function do_test()
{
    $config['upload_path'] = './images';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = '10000';
    $config['max_width']  = '1024';
    $config['max_height']  = '768';
    $config['overwrite'] = TRUE;
    $confit['remove_spaces'] = TRUE;

    $this->load->library('upload', $config);
    $this->load->library('form_validation');

    $this->form_validation->set_rules('file', 'trim|required|xss_clean');
    $test = $this->input->post('file');
    var_dump($test); //var dump return : string(21) "C:\fakepath\truth.jpg"

    if ( ! $this->upload->do_upload($test))
    {
        echo "no";
    }
    else
    {
        $data = array('upload_data' => $this->upload->data());

        echo "yes";
    }
}

<?php echo form_open_multipart('home/do_test', array( 'id' => 'skill-form-test' ) );?>

    <input type="file" name="userfile" id="file" size="20" />

    <br /><br />

    <input type="submit" value="upload" />

    </form>

jquery

$('#skill-form-test').submit(function(e) {
    e.preventDefault();

    $.post(base_url + "index.php/home/do_test", { file : $("#file").val()  }, function(data)
        {
            }, "json");
    alert ( $("#file").val() + "-" + base_url ); //This alerts: C:\fakepath\truth.jpg-http://siteurl.com/
});
4

1 に答える 1

-1

更新: この修正は CodeIgniter v3 用であり、最近のバージョンでは機能しない可能性があります。

変えるだけ

if ( ! $this->upload->do_upload($test))

if ( ! $this->upload->do_upload('userfile'))

問題を修正します。

これがお役に立てば幸いです。ありがとうございました!!

于 2012-07-21T05:47:29.423 に答える