Как вставить двоичные данные в столбец BLOB с помощью Class::DBI?

Я хочу создать новый объект, используя Class::DBI. Одним из полей этого объекта является тип BLOB. У меня есть файловый дескриптор, который я хочу использовать для этих данных, но, очевидно, просто сделать это не работает:

my $item = My::Class::DBI::Class->insert({
        foo       => $bar,
        biz       => $baz,
        blob         => $my_filehandle
        });

Есть какой-то трюк, который я пропускаю?

Спасибо!

1 ответ

Решение

Вы должны прочитать дескриптор файла и вставить его.

my $blob = do {local $/; <$my_filehandle>};
my $item = My::Class::DBI::Class->insert({
        foo       => $bar,
        biz       => $baz,
        blob         => $blob,
        });
Другие вопросы по тегам