summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2019-04-18 21:04:27 +0200
committerBackportbot <backportbot-noreply@rullzer.com>2019-04-24 07:02:46 +0000
commitad5dcc2cd6cf1f6d924cc679be1a5b4330058ab1 (patch)
tree08269aaf9a36e351681a29bf5cee9941340d914b
parent46bbb49a3e3b8b0b837d4c926eb515a030b0f286 (diff)
downloadnextcloud-server-ad5dcc2cd6cf1f6d924cc679be1a5b4330058ab1.tar.gz
nextcloud-server-ad5dcc2cd6cf1f6d924cc679be1a5b4330058ab1.zip
Always use a temp file for swift writes
Apparently the if statement doesn't work in all cases (even if I could not reproduce it). So for the time being we will just not directly stream to swift. Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
-rw-r--r--lib/private/Files/ObjectStore/Swift.php11
1 files changed, 3 insertions, 8 deletions
diff --git a/lib/private/Files/ObjectStore/Swift.php b/lib/private/Files/ObjectStore/Swift.php
index 7e4654b6eb2..fd416157635 100644
--- a/lib/private/Files/ObjectStore/Swift.php
+++ b/lib/private/Files/ObjectStore/Swift.php
@@ -76,14 +76,9 @@ class Swift implements IObjectStore {
* @throws \Exception from openstack lib when something goes wrong
*/
public function writeObject($urn, $stream) {
- $handle = $stream;
-
- $meta = stream_get_meta_data($stream);
- if (!(isset($meta['seekable']) && $meta['seekable'] === true)) {
- $tmpFile = \OC::$server->getTempManager()->getTemporaryFile('swiftwrite');
- file_put_contents($tmpFile, $stream);
- $handle = fopen($tmpFile, 'rb');
- }
+ $tmpFile = \OC::$server->getTempManager()->getTemporaryFile('swiftwrite');
+ file_put_contents($tmpFile, $stream);
+ $handle = fopen($tmpFile, 'rb');
$this->getContainer()->createObject([
'name' => $urn,