mirror of
				https://github.com/BookStackApp/BookStack.git
				synced 2025-11-03 02:13:16 +03:00 
			
		
		
		
	Added streamed uploads for attachments
This commit is contained in:
		@@ -10,7 +10,6 @@ use BookStack\Uploads\AttachmentService;
 | 
				
			|||||||
use Exception;
 | 
					use Exception;
 | 
				
			||||||
use Illuminate\Contracts\Filesystem\FileNotFoundException;
 | 
					use Illuminate\Contracts\Filesystem\FileNotFoundException;
 | 
				
			||||||
use Illuminate\Http\Request;
 | 
					use Illuminate\Http\Request;
 | 
				
			||||||
use Illuminate\Support\Facades\Storage;
 | 
					 | 
				
			||||||
use Illuminate\Support\MessageBag;
 | 
					use Illuminate\Support\MessageBag;
 | 
				
			||||||
use Illuminate\Validation\ValidationException;
 | 
					use Illuminate\Validation\ValidationException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -223,8 +223,6 @@ class AttachmentService
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    protected function putFileInStorage(UploadedFile $uploadedFile): string
 | 
					    protected function putFileInStorage(UploadedFile $uploadedFile): string
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        $attachmentData = file_get_contents($uploadedFile->getRealPath());
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        $storage = $this->getStorageDisk();
 | 
					        $storage = $this->getStorageDisk();
 | 
				
			||||||
        $basePath = 'uploads/files/' . date('Y-m-M') . '/';
 | 
					        $basePath = 'uploads/files/' . date('Y-m-M') . '/';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -233,10 +231,11 @@ class AttachmentService
 | 
				
			|||||||
            $uploadFileName = Str::random(3) . $uploadFileName;
 | 
					            $uploadFileName = Str::random(3) . $uploadFileName;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $attachmentStream = fopen($uploadedFile->getRealPath(), 'r');
 | 
				
			||||||
        $attachmentPath = $basePath . $uploadFileName;
 | 
					        $attachmentPath = $basePath . $uploadFileName;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
            $storage->put($this->adjustPathForStorageDisk($attachmentPath), $attachmentData);
 | 
					            $storage->writeStream($this->adjustPathForStorageDisk($attachmentPath), $attachmentStream);
 | 
				
			||||||
        } catch (Exception $e) {
 | 
					        } catch (Exception $e) {
 | 
				
			||||||
            Log::error('Error when attempting file upload:' . $e->getMessage());
 | 
					            Log::error('Error when attempting file upload:' . $e->getMessage());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user