0

オラクルからblobファイル、つまりPDFファイルをダウンロードしたいのですが、これはファイルを取得してダウンロードするための私のコードです:

<?php
$conn = ocilogon('user', 'pass', '//localhost/XE');
$sql = "SELECT PDFFILE FROM TFILE";
    $stid = ociparse($conn,$sql);
    ociexecute($stid);
    $rowResult = ocifetch($stid);
    settype($arrayResult,"array");
if($rowResult != null){
            header("Content-Type: application/octet-stream");
            header('Content-Disposition: attachment; filename="' . OCIResult($stid,'PDFFILE') . '"');    
            header("Content-Length: " . filesize(OCIResult($stid,'PDFFILE')->load()));
            header('Content-Disposition: attachment; header("Content-Transfer-Encoding: binary\n");
    }
    ?>

しかし、このコードを実行すると、pdfファイルが取得されません..私のコードに何か問題がありますか??

4

1 に答える 1

0
header("Content-Type: application/octet-stream");
header('Content-Disposition: attachment; filename="' . OCIResult($stid,'PDFFILE') . '"');    
header("Content-Length: " . filesize(OCIResult($stid,'PDFFILE')->load()));
header('Content-Disposition: attachment; header("Content-Transfer-Encoding: binary\n");

Content-Dispositionヘッダーを 2 回送信しています。Content-Typeおそらく 2 番目のものも必要ありません。クライアントは、ヘッダーからのストリームについて知る必要があるすべてを知っている必要があります。ファイル名を持つヘッダーを上書きしないように、2 番目を省略しContent-Dispositionます。

于 2012-07-08T10:37:38.347 に答える