Merge pull request #20927 from owncloud/handle-return-code-on-webdav-put
Handle return code of streamCopy in WebDAV put
This commit is contained in:
commit
6a7be4d277
|
@ -130,9 +130,17 @@ class File extends Node implements IFile {
|
||||||
// because we have no clue about the cause we can only throw back a 500/Internal Server Error
|
// because we have no clue about the cause we can only throw back a 500/Internal Server Error
|
||||||
throw new Exception('Could not write file contents');
|
throw new Exception('Could not write file contents');
|
||||||
}
|
}
|
||||||
list($count,) = \OC_Helper::streamCopy($data, $target);
|
list($count, $result) = \OC_Helper::streamCopy($data, $target);
|
||||||
fclose($target);
|
fclose($target);
|
||||||
|
|
||||||
|
if($result === false) {
|
||||||
|
$expected = -1;
|
||||||
|
if (isset($_SERVER['CONTENT_LENGTH'])) {
|
||||||
|
$expected = $_SERVER['CONTENT_LENGTH'];
|
||||||
|
}
|
||||||
|
throw new Exception('Error while copying file to target location (copied bytes: ' . $count . ', expected filesize: '. $expected .' )');
|
||||||
|
}
|
||||||
|
|
||||||
// if content length is sent by client:
|
// if content length is sent by client:
|
||||||
// double check if the file was fully received
|
// double check if the file was fully received
|
||||||
// compare expected and actual size
|
// compare expected and actual size
|
||||||
|
|
Loading…
Reference in New Issue