我在PHP中从Alfresco读取文件,然后将其输出到浏览器。唯一的问题是文件的MIME类型或扩展名。这是我正在使用的代码:
<?php
ob_start();
require_once("libs/AlfrescoConnect.php");
$nomeFile = rawurldecode($_GET['nomeFile']);
$urlDownload = $_GET['urlDownload'];
$fileDownloadUrl =
AlfrescoConnect::$serverPath. $urlDownload .
"&attach=true&alf_ticket=".AlfrescoConnect::getTiket();
fb($fileDownloadUrl);
$cnt = file_get_contents($fileDownloadUrl);
header("Content-type: Application/octet-stream");
header('Cache-Control: must-revalidate');
header('Content-disposition: attachment; filename=' .$nomeFile);
echo($cnt);
exit();
echo("Impossibile trovare il file");
我从获取的内容中得到了文件名,因为我不知道如何从 Alfresco 中获取文件名。但是我必须想办法猜测 mimetype。如果我在第一字符处运行 echo $cnt
,则会有关于它是 PDF 的参考(例如在屏幕上我看到:%PDF-1.3 %âãÏÓ 2 0 obj << /Length 3 0 R /Filter /CCITTFaxDecode /DecodeParms << /K 0 /Columns 2480 /Rows 3508 >> /Type /XObject /Subtype /Image /Width 2480 /Height 3508 /BitsPerComponent 1 /ColorSpace /DeviceGray >> stream
因此必须有一种方法可以使用函数从中获取 mime type。感谢任何帮助!
编辑。如果有人感兴趣,这里是一个类,您可以使用它来从 mime type 中获取扩展名。 http://www.ustrem.org/en/articles/mime-type-by-extension-en/