2016-06-21 3 views
1

私はPHPサーバスクリプトへの単純なXMLHttpRequestを持っています。サーバスクリプトのXMLHttpRequestで大きなpdfファイルを読むことができません

fxhr.onload = function (data) { 
    //console.log(JSON.parse(data.target.response)); 
    var string = JSON.parse(data.target.response).data.content; 
    console.log(JSON.parse(data.target.response)); 
    DEFAULT_URL = convertDataURIToBinary(string); 

    var config = getViewerConfiguration(); 
    window.PDFViewerApplication = pdfjsWebLibs.pdfjsWebApp.PDFViewerApplication; 
    pdfjsWebLibs.pdfjsWebApp.PDFViewerApplication.run(config); 
    }; 
    fxhr.open('POST', window.location.pathname + 'content'); 

コード:

 public function execute() 
{ 
    $productModel = new shopProductModel(); 
    $bookModel = new shopEbooksPluginItemModel(); 
    $item = $productModel->getByField('url', waRequest::param('product_code')); 
    $bookFile = $bookModel->getByField(array(
    'product_id' => $item['id'], 
    'book_type' => waRequest::param('reader_state') 
), false); 
    $content = @file_get_contents($this->getBookFullPath($bookFile)); 

    $this->response = array('content' => $this->getBaseEncodedFile()); 
} 

private function getBookFullPath($bookFileRow) 
{ 
    return $bookFileRow['file_path'] . $bookFileRow['file_name']; 
} 

private function getBaseEncodedFile($content) 
{ 
    return 'data:application/pdf;base64,' . base64_encode($content); 
} 

私が読ん少しpdfファイルをしようとした場合、それは良い仕事だが、私が読ん40メガバイトのPDFファイルサーバーの応答をしようとした場合にのみ、「データがあります:アプリケーション/ PDFを、BASE64 、 "。 file_existsがtrueを返します。

+0

「error_log」には役立つメッセージがありますか? –

+0

おそらく私はチェックしようとします –

答えて

0

PHPには、問題を引き起こしている可能性のあるファイルphp.iniにいくつかの設定があります。

memory_limit - これはほぼ確実に問題です。 PHPは、すべてのデータを処理するためにメモリにロードする必要があります。この値を処理すると予想される最大サイズのファイルよりも50%大きくするようにしてください。

max_execution_time - スクリプトがすべてのデータを処理するのに時間がかかると、そのデータは強制終了されます。この値を大きくしてみてください。

多くの場合、スクリプトで大量のデータを処理できるように、これらの制限をphp.iniに変更する必要がありました。

+0

'memory_limit 128' ' max_execution_time 180' 返される瞬時に –

+0

'memory_limit 128'は128 **バイト**を意味します。 128Mバイトで 'memory_limit 128M'を試してみてください** –

+0

yes 128Mがphp.ini –

関連する問題