これは、コードイグナイター コードで ajaxfileupload と Jquery を使用して画像をアップロードするコードです。しかし、codeigniter コードはログ ファイルにエラーを出力しています。そのアップロード。しかし、jquery と ajaxfileupload スクリプトを使用せずに同じコードをテストしたとき。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="//localhost/AjaxFileUploader/ajaxfileupload.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#form").change(function () {
$("#upload").html('<img src="loader.gif"/>');
$.ajaxFileUpload({
url: 'http://localhost/ci/index.php/upload/do_upload',
secureuri: false,
fileElementId: 'userfile',
dataType: 'json',
success: function (data, status) {
if (typeof (data.error) != 'undefined') {
if (data.error != '') {
alert(data.error);
} else {
alert(data.msg);
}
}
},
error: function (data, status, e) {
alert(e);
}
});
});
});
</script></head>
<body>
<form action="http://localhost/ci/index.php/upload/do_upload" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<input type="file" name="userfile" size="20" id="form" />
<br /><br />
<input type="submit" value="upload" id="submit" />
<span id="upload"></span>
</form></body>
</html>
私のコードイグナイターコードは
function do_upload()
{
$config['upload_path'] = 'c:\upload';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$config['encrypt_name'] = TRUE;
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_form', $error);
}
else
{
$data = array('upload_data' => $this->upload->data());
$this->load->view('upload_success', $data);
}
}
しかし、codeigniter はファイルをアップロードしていません。「アップロードするファイルが選択されていません」などのエラーがログ ファイルに表示されます。