fix opening encrypted files from the browser

This commit is contained in:
Robin Appelman 2012-05-05 16:49:22 +02:00
parent 70cb053e6b
commit c0e67fa24a
2 changed files with 3 additions and 4 deletions

View File

@ -96,6 +96,7 @@ class OC_Files {
$zip=false;
$filename=$dir.'/'.$files;
}
@ob_end_clean();
if($zip or OC_Filesystem::is_readable($filename)){
header('Content-Disposition: attachment; filename="'.basename($filename).'"');
header('Content-Transfer-Encoding: binary');
@ -106,7 +107,6 @@ class OC_Files {
}else{
$fileData=OC_FileCache::get($filename);
header('Content-Type: ' . $fileData['mimetype']);
header('Content-Length: ' . $fileData['size']);
}
}elseif($zip or !OC_Filesystem::file_exists($filename)){
header("HTTP/1.0 404 Not Found");
@ -117,7 +117,6 @@ class OC_Files {
header("HTTP/1.0 403 Forbidden");
die('403 Forbidden');
}
@ob_end_clean();
if($zip){
$handle=fopen($filename,'r');
if ($handle) {

View File

@ -137,9 +137,9 @@ class OC_FilesystemView {
}
public function readfile($path){
@ob_end_clean();
$handle=$this->fopen($path,'r');
$handle=$this->fopen($path,'rb');
if ($handle) {
$chunkSize = 8*1024;// 1 MB chunks
$chunkSize = 8192;// 8 MB chunks
while (!feof($handle)) {
echo fread($handle, $chunkSize);
flush();