support restarting upload

This commit is contained in:
2024-04-23 15:01:17 +10:00
parent 257e241aea
commit eae8af936b
2 changed files with 14 additions and 3 deletions

View File

@@ -152,7 +152,7 @@ class MediaController extends Controller
$fileName = $request->input('filename', $file->getClientOriginalName());
$fileName = Helpers::cleanFileName($fileName);
if($request->has('fileappend') && $request->has('filesize')) {
if(($request->has('filestart') || $request->has('fileappend')) && $request->has('filesize')) {
$fileSize = $request->get('filesize');
if($fileSize > $max_size) {
@@ -166,8 +166,13 @@ class MediaController extends Controller
$tempFilePath = sys_get_temp_dir() . '/chunk-' . $fileName;
$filemode = 'a';
if($request->has('filestart')) {
$filemode = 'w';
}
// Append the chunk to the temporary file
$fp = fopen($tempFilePath, 'a');
$fp = fopen($tempFilePath, $filemode);
if ($fp) {
fwrite($fp, file_get_contents($file->getRealPath()));
fclose($fp);

View File

@@ -130,7 +130,13 @@ let SM = {
formData.append('file', chunk);
formData.append('filename', file.name);
formData.append('filesize', file.size);
if (start === 0) {
formData.append('filestart', true);
} else {
formData.append('fileappend', true);
}
if (title !== '') {
formData.append('title', title);
}