使用 PHP,我正在尝试下载已上传到 Oracle 10g 数据库的 blob 文件。我已经看到并模仿了许多我发现的例子。当我访问该页面时,会出现一个文件下载对话框,允许我打开或保存。如果我单击打开,媒体播放器会按原样出现,但从不检索文件。如果我选择保存,我总是会收到一条错误消息,指出“Internet Explorer 无法打开此 Internet 站点。请求的站点不可用或找不到。请稍后再试。”
下面是我的代码,它非常简单,非常类似于我找到的示例。
<?php
header('Content-Disposition: attachment; filename='.$_GET['fileName']);
header('Content-length: '.$_GET['fileSize']);
header('Content-type: '.$_GET['mimeType']);
require_once("Include/Application.php");
$connection = oci_connect ($userID, $password, $TNS);
$phpCur = oci_new_cursor($connection);
$stmt = oci_parse($connection, "BEGIN MOR.DOWNLOAD_ATTACHMENT (:morID, :attachmentType, :phpCur); END;");
oci_bind_by_name($stmt, ":morID", $_GET['morID'], -1);
oci_bind_by_name($stmt, ":attachmentType", $_GET['attachmentType'], -1);
oci_bind_by_name($stmt, "phpCur", $phpCur, -1, OCI_B_CURSOR);
oci_execute($stmt);
oci_free_statement($stmt);
$output = '';
oci_execute($phpCur);
while( $row = oci_fetch_array($phpCur) )
$output .= $row['ATTACHMENT_BL'];
oci_free_statement($phpCur);
oci_close($connection);
echo $output;
exit;
?>