From 700a57d8b69dcabfef3e4e27911e2db2ea96b9c6 Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Thu, 30 Jun 2016 12:43:58 +0200 Subject: [PATCH] Set content-type to "application/octet-stream" Some browsers such as Firefox on Microsoft Windows otherwise do offer to open the file directly which is kinda silly. --- settings/Controller/LogSettingsController.php | 3 ++- tests/Settings/Controller/LogSettingsControllerTest.php | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/settings/Controller/LogSettingsController.php b/settings/Controller/LogSettingsController.php index 4863c2369b..6c9fe76c24 100644 --- a/settings/Controller/LogSettingsController.php +++ b/settings/Controller/LogSettingsController.php @@ -105,7 +105,8 @@ class LogSettingsController extends Controller { */ public function download() { $resp = new StreamResponse(\OC\Log\Owncloud::getLogFilePath()); - $resp->addHeader('Content-Disposition', 'attachment; filename="owncloud.log"'); + $resp->addHeader('Content-Type', 'application/octet-stream'); + $resp->addHeader('Content-Disposition', 'attachment; filename="nextcloud.log"'); return $resp; } } diff --git a/tests/Settings/Controller/LogSettingsControllerTest.php b/tests/Settings/Controller/LogSettingsControllerTest.php index 092c04aecc..e3cfa072d0 100644 --- a/tests/Settings/Controller/LogSettingsControllerTest.php +++ b/tests/Settings/Controller/LogSettingsControllerTest.php @@ -12,6 +12,7 @@ namespace Tests\Settings\Controller; use \OC\Settings\Application; use OC\Settings\Controller\LogSettingsController; +use OCP\AppFramework\Http\StreamResponse; /** * @package Tests\Settings\Controller @@ -70,6 +71,9 @@ class LogSettingsControllerTest extends \Test\TestCase { public function testDownload() { $response = $this->logSettingsController->download(); - $this->assertInstanceOf('\OCP\AppFramework\Http\StreamResponse', $response); + $expected = new StreamResponse(\OC\Log\Owncloud::getLogFilePath()); + $expected->addHeader('Content-Type', 'application/octet-stream'); + $expected->addHeader('Content-Disposition', 'attachment; filename="nextcloud.log"'); + $this->assertEquals($expected, $response); } }