Сохранение файла через API в базе данных с использованием проблем laravel и angular 4

У меня 2 вопроса ...
1. Когда я отправляю запрос файла в методе saveAttachment (), он пуст ([]).
2. Подходит ли моя процедура для сохранения файла в виде двоичного файла в базе данных?

Миграция на Laravel:

class CreateAttachmentsTable extends Migration
{
    public function up()
    {
        Schema::create('attachments', function (Blueprint $table) {
            $table->uuid('id')->primary();
            $table->binary('content');
        });
    }
}

Контроллер Laravel:

public function saveAttachment(Request $request)
{
    if ($request->file) {
        $attachment = new Attachment();
        $attachment->content = $request->file;
        $attachment->save();
    }
}

Угловой компонент:

onFileChange(event) {
    if (event.target.files.length > 0) {
        this.service.saveAttachment(event.target.files[0]).subscribe();
    }
}

Угловая служба:

saveAttachment(file: File) {
    return this.http.post(USER_API_URL + '/saveAttachment, { file: file });
}

Спасибо.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
2
0
641
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я нашел решение, но, наверное, не самое лучшее ...

Миграция на Laravel:

class CreateAttachmentsTable extends Migration
{
    public function up()
    {
        Schema::create('attachments', function (Blueprint $table) {
            $table->binary('content');
        });
    }
}

Контроллер Laravel:

public function upload(Request $request)
{
    $file = new File();
    $file->content = $request->fileContent;
    $file->save();
}

Угловой компонент:

onFileChange(event) {
    if (event.target.files.length > 0) {
        const reader = new FileReader();

        reader.onload = (e) => {
            this.fileService.upload(reader.result).subscribe();
        };

        reader.readAsDataURL(event.target.files[0]);
    }
}

Угловая служба:

saveAttachment(fileContent: File) {
    return this.http.post(API_URL + '/upload, { fileContent: file });
}

Другие вопросы по теме