РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗ppinPmFsSn 38 of 41 menu
◀ ▶

Отправка файла в Inertia

Пусть файл уже выбран в поле, а в папке проекта его ещё нет. Человек нажал сохранение, но на экране не видно, куда файл лежит после приёма.

Файл запроса берут методом file, а в папку его кладёт метод store. Строку пути, которую вернул store, передают на страницу пропсом и показывают на том же экране.

Давайте опишем открытие формы и сохранение файла в папку:

<?php use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; use Inertia\Inertia; Route::get('/posts/create', function () { return Inertia::render('Posts/Create', [ 'path' => null, ]); }); Route::post('/posts', function (Request $request) { $path = $request->file('photo')->store('photos'); return Inertia::render('Posts/Create', [ 'path' => $path, ]); }); ?>

Давайте выведем путь под формой, когда он пришёл с сервера:

<script setup> import { Form } from '@inertiajs/vue3' defineProps({ path: String, }) </script> <template> <Form action="/posts" method="post"> <input type="file" name="photo" /> <button type="submit">Save</button> </Form> <p v-if="path">{{ path }}</p> </template>

Сделайте так, чтобы файл работника попадал в папку проекта, а на экране был виден путь, под которым он лежит.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить