Чтение двоичных данных из ARC загрузки с использованием Phoenix - дБ показывает только имя файла - PullRequest
0 голосов
/ 28 декабря 2018

Когда я читаю своего пользователя, я вижу

%MyApp.Api.user{
 profile_photo: %{
    file_name: "2018-12-28 15:46:53.330536Z.png",
    updated_at: ~N[2018-12-28 15:46:53]
  },
}

, но при загрузке я использую этот набор изменений:

  def update_photo_changeset(user, attrs) do
    user
    |> cast(attrs[:user], [:profile_photo])
    |> cast_attachments(attrs, [:profile_photo])
    |> validate_required([:email, profile_photo])
  end

Выйдя из attrs, я вижу двоичный файл и имя файла.Когда я читаю, я вижу только имя файла.

Как мне напрямую читать двоичные данные?

1 Ответ

0 голосов
/ 28 декабря 2018

Arc.File - это структура с тремя полями.

Algebra.Inspect, которая используется для представления файла в консоли, разумно игнорирует двоичный мусор.

%MyApp.Api.User{}.profile_photo должен быть не картой, а %Arc.File{} структурой, и я сомневаюсь, что могу сказать, почему это голая карта.

В любом случае, структура имеет непосредственно доступное поле binary:

%MyApp.Api.User{}.profile_photo.binary
...