Browse Source
Merge pull request #15168 from nextcloud/fix/13554/always_tmpfile_for_swift
Always use a temp file for swift writes
pull/15210/head
Roeland Jago Douma
7 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
3 additions and
8 deletions
-
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, |
|
|
|
|