Как вы сами выяснили JSON не принимает двоичные данные, уловка заключается в том, чтобы закодировать BLOB в base64 , чтобы его можно было использовать в JSON , единственным недостатком является то, что вы должны декодировать его при извлечении JSON .
Вы можете использовать accessor
на своей модели, чтобы иметь возможность автоматически кодировать поле Blob , когда Модель имеет сериализованный in JSON , то есть:
// in User Model
public function getBlobAttribute($value)
{
return base64_encode($value);
}
Вам нужно только запомнить декодировать BLOB , когда вы используете его в качестве реальных двоичных данных (например, если это изображение), то есть:
$blob = base64_decode($model->blob)
Или вы можете написать метод, который извлекает BLOB-объект без , используя accessor
:
// in User Model
public function getRawBlob()
{
$this->getOriginal('blob');
}
Надеюсь, эта помощь.