@fomenko_alexandr

Как в vue.js отправить файл, чтобы он попал в $_FILES?

Здравствуйте.
Как мне отправить файл, чтобы данные не попадали в php://input, а чтобы было доступно непосредственно из $_FILES?
Или тем же $_POST Запросом, когда отправляю данные, то они недоступны в массиве $_POST, а опять же таки, в php://input
Подскажите пожалуйста, как мне это обойти?

Сейчас код отправки файлов такой:
<script>
    new Vue({
        el: '#app',
        data: {
            files: []
        },
        methods: {
            onFileChange: function(e) {
                var files = e.target.files || e.dataTransfer.files;
                if (!files.length)
                    return;
                this.createImage(files[0]);
            },
            createImage: function(file) {
                var reader = new FileReader();
                var vm = this;
                reader.onload = function(e) {
                    vm.image = e.target.result;
                };
                reader.readAsDataURL(file);
            },
            upload: function(){
                axios.post('/file', {image: this.image}})
                    .then(function(res) {
                    console.log(res);
                    });
            }
        }
    })
</script>
  • Вопрос задан
  • 1930 просмотров
Решения вопроса 1
@Artem0071
Безработный mr. Junior
используйте FormData

Что то в этом роде получится:

let data = new FormData();
data.append('file', thi.image);

axios.post('/file', data)
                    .then(function(res) {
                    console.log(res);
                    });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽