0

ユーザーからの画像を受け入れるために使用されるプログラムがあります。クライアントからの要求に応じて、代わりにPDFファイルを受け入れるように変更しました。問題は、機能しないことです。

私はすでにmimes.phpの設定をこれに変更しました

'pdf'    =>    array('application/pdf', 'application/x-pdf', 'application/x-download','application/download','binary/octet-stream'),

これがアップロードされたファイルを保存するための私のCIコードです

$config = array(
'upload_path'   =>  'news',
'allowed_types' =>  'pdf',
'max_size'  =>  '10000000',
);
$this->load->library('upload', $config);
$this->upload->do_upload('userfile');
$data = $this->upload->data();
echo json_encode(array('data' => $data));

HTML

<form id="imgadd-form" method="post" accept-charset="utf-8" enctype="multipart/form-data">
   Upload :<br>
   <input type="file" name="userfile" id="userfile">
</form>

Jquery

function uploadfile()
{
$.ajaxFileUpload({
    url     :   'save_data/uploadfile/',
    secureuri   :   false ,
    fileElementId   :   'userfile' ,
    dataType    :   'json' ,
    success     :   function( data , status ) {
        if ( status != 'error' ){//&& data.data.is_image ) {
            sysAlert( 'File Successfully Uploaded' );
        }
        else
            sysAlert( 'Error Uploading' );
    }
});
}

編集:ファイルはJSONを返すため、jqueryによって正常にアップロードされたと報告されていますが、ディレクトリを確認するたびに何もありません。奇妙なことに、ファイル拡張子を.TXTに変更し、その3.5MBのpdfファイルを.txt拡張子でアップロードすると、正常にアップロードされ、適切なディレクトリにあります。

編集:$_FILESのvar_dump

"array(1) {
  ["userfile"]=>
  array(5) {
    ["name"]=> string(8) "test.pdf"
    ["type"]=> string(24) "application/octet-stream"
    ["tmp_name"]=>string(24) "C:\xampp\tmp\phpF84F.tmp"
    ["error"]=>int(0)
    ["size"]=>int(3748991)
  }
}

echo $ this-> upload-> display_errors();

<p>The filetype you are attempting to upload is not allowed.</p>

更新:「max_size」を変更

'max_size'      =>  '10000000',

CIバージョンは2.1.2です

4

1 に答える 1