-
Notifications
You must be signed in to change notification settings - Fork 1k
Open
Description
- Elixir version:
1.19.1 (compiled with Erlang/OTP 26) - Phoenix and LiveView versions:
phoenix 1.7.21phoenix_live_view 1.0.17
- Operating system:
- macOS (works)
- Android (fails)
- Browsers:
- Chrome Android (fails) ❌
- Firefox Android (works) ✅
- Chrome Desktop (works) ✅
Problem
live_file_input does not populate @uploads.images.entries on Chrome Android in production,
while the exact same code works on localhost (same Android device) and on Firefox Android.
Actual behavior
- User selects image file via
<.live_file_input /> - File picker opens and file is selected ✅
phx-change="validate"event fires ✅- But
@uploads.images.entriesremains empty (count: 0) ❌ - No errors in
upload_errors(@uploads.images)❌
Expected behavior
After selecting a file, @uploads.images.entries should contain the selected file(s).
Code
# Component
def mount(socket) do
{:ok,
socket
|> allow_upload(:images,
accept: :any,
max_entries: 20,
max_file_size: 20_000_000,
auto_upload: false
)}
end
def handle_event("validate", _params, socket) do
Logger.info("entries count: #{length(socket.assigns.uploads.images.entries)}")
{:noreply, socket}
end# Template
<.simple_form for={@form} phx-target={@myself} phx-change="validate">
<.live_file_input upload={@uploads.images} />
</.simple_form>
<%= for entry <- @uploads.images.entries do %>
<div id={"preview-#{entry.ref}"} phx-update="ignore">
<.live_img_preview entry={entry} />
</div>
<% end %>Metadata
Metadata
Assignees
Labels
No labels