Как использовать компонент загрузки Vuesax в проекте Laravel / Vue.js?

Я работаю над этим проектом на основе руководств по сети и YOUTUBE. Моя проблема в том, что на основе учебника я получил вот такое:

<form class = "form-horizontal">
    <div class = "form-group">
        <label for = "mellicode_front_url" class = "col-sm-2 control-label">scan</label>

        <div class = "col-sm-12">
            <input type = "file" @change = "updateMelliCodeFrontScan" name = "mellicode_front_url" class = "form-input" >
        </div>
    </div>
    <div class = "form-group">
        <div class = "col-sm-offset-2 col-sm-12">
            <button @click.prevent = "saveMelliCodeFrontScan" type = "submit" class = "btn btn-success">submit scan</button>
        </div>
    </div>
</form>

как вы можете видеть в этом коде, когда я открывал файл IMAGE, я использую метод @change, затем я использую click.prevent в кнопке отправки, чтобы загрузить изображение на хост.

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

https://lusaxweb.github.io/vuesax/components/upload.html

который использует этот тип кода для загрузки:

<vs-upload action = "https://jsonplaceholder.typicode.com/posts/" @on-success = "successUpload" />

Я изменил и удалил действие с onChange и другими вещами, но только потому, что я новичок, я уверен, что не сделал этого должным образом. Итак, я пытаюсь внедрить эти @change = "updateShenasnameScan" и @click.prevent = "saveShenasnameScan" в этот компонент vs-upload.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
0
1 264
1

Ответы 1

Я думаю, что этот компонент не поддерживает привязку или объект формы для назначения ему файлов. Но в бэкэнде в Laravel вы можете получать файлы с помощью $ _FILES, это даст вам объект файлов, который вы можете использовать и хранить файлы просто на сервере.

Вот моя работа над этой системой загрузки

Laravel Function

public function store(Request $request)
{
    $stored = [];
    $files = $_FILES;
    foreach ($files['archive']['tmp_name'] as $key => $value) {
        $file = file_get_contents($value);
        if (Storage::disk('local')->put('archive/'. $files['archive']['name'][$key], $file)){
            $stored[$key] = 'archive/'. $files['archive']['name'][$key];
        }else{
            $stored[$key] = $files['archive']['error'][$key];
        }
    }
    return $stored;
}

And the VUE code, that you can find more about it here https://lusaxweb.github.io/vuesax/components/upload.html#automatic

<vs-upload multiple fileName='archive[]' automatic action = "/api/archive" @on-success = "successUpload" />

And the $_FILES data as bellow

поздно, но может кому-то помочь :)

Nasser Ali Karimi 20.01.2021 09:10

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