如何使用访存API发布多个文件?

问题描述 投票:0回答:1

我正在尝试使用访存API从输入中发布多个文件,但附加后表单数据仍然为空

[我看了答案hereherehereherehere,并尝试了所有这些都无济于事

我正在使用Laravel框架作为后端,这是我的Blade视图文件

<meta name="csrf-token" content="{{ csrf_token() }}">
<input class="form-control" type="file" id="pro-image" name="image[]" multiple onchange="submit()">

<script>
    function submit() {
        var ins = document.getElementById('pro-image').files.length;
        var fd = new FormData();
        for (var x = 0; x < ins; x++) {
            fd.append("pro-image[]", document.getElementById('pro-image').files[x]);
        }
        console.log(fd);
        fetch('/', {
            headers: {
                "Content-Type": "application/json",
                "Accept": "application/json",
                "X-Requested-With": "XMLHttpRequest",
                "X-CSRF-Token": document.querySelector('meta[name="csrf-token"]').content
            },
            method: 'POST',
            credentials: "same-origin",
            body: fd,
        });
    }
</script>

控制台记录一个空的表单数据对象

enter image description here

这是后端中的代码

Route::post('/', function () {
    dd(request()->all());
});

因此,我得到一个空数组

enter image description here

真的不知道为什么这不起作用!对哪里做错有任何想法吗?

javascript laravel fetch form-data filelist
1个回答
2
投票

删除Content-Type: application/json标头,或将其设置为multipart/form-data

© www.soinside.com 2019 - 2024. All rights reserved.