|
|
@@ -51,6 +51,7 @@ use OCP\Files\InvalidContentException; |
|
|
|
use OCP\Files\InvalidPathException; |
|
|
|
use OCP\Files\LockNotAcquiredException; |
|
|
|
use OCP\Files\NotPermittedException; |
|
|
|
use OCP\Files\Storage; |
|
|
|
use OCP\Files\StorageNotAvailableException; |
|
|
|
use OCP\Lock\ILockingProvider; |
|
|
|
use OCP\Lock\LockedException; |
|
|
@@ -135,8 +136,9 @@ class File extends Node implements IFile { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** @var Storage $partStorage */ |
|
|
|
list($partStorage) = $this->fileView->resolvePath($this->path); |
|
|
|
$needsPartFile = $this->needsPartFile($partStorage) && (strlen($this->path) > 1); |
|
|
|
$needsPartFile = $partStorage->needsPartFile() && (strlen($this->path) > 1); |
|
|
|
|
|
|
|
if ($needsPartFile) { |
|
|
|
// mark file as partial while uploading (ignored by the scanner) |
|
|
@@ -443,8 +445,9 @@ class File extends Node implements IFile { |
|
|
|
} |
|
|
|
|
|
|
|
if ($chunk_handler->isComplete()) { |
|
|
|
/** @var Storage $storage */ |
|
|
|
list($storage,) = $this->fileView->resolvePath($path); |
|
|
|
$needsPartFile = $this->needsPartFile($storage); |
|
|
|
$needsPartFile = $storage->needsPartFile(); |
|
|
|
$partFile = null; |
|
|
|
|
|
|
|
$targetPath = $path . '/' . $info['name']; |
|
|
@@ -529,21 +532,6 @@ class File extends Node implements IFile { |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Returns whether a part file is needed for the given storage |
|
|
|
* or whether the file can be assembled/uploaded directly on the |
|
|
|
* target storage. |
|
|
|
* |
|
|
|
* @param \OCP\Files\Storage $storage |
|
|
|
* @return bool true if the storage needs part file handling |
|
|
|
*/ |
|
|
|
private function needsPartFile($storage) { |
|
|
|
// TODO: in the future use ChunkHandler provided by storage |
|
|
|
return !$storage->instanceOfStorage('OCA\Files_Sharing\External\Storage') && |
|
|
|
!$storage->instanceOfStorage('OC\Files\Storage\OwnCloud') && |
|
|
|
$storage->needsPartFile(); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Convert the given exception to a SabreException instance |
|
|
|
* |