使用jqueryajax为REST API上传文件。

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

我试图用下面的脚本通过ajaxjquery将文件上传到远程服务器,使用REST api,但它返回400错误与一个坏的请求。我已经用curl测试了端点,它给出了正确的响应,文件正在上传。

 $(document).ready(function () {

    $("#btnSubmit").click(function (event) {

        //stop submit the form, we will post it manually.
        event.preventDefault();

        fire_ajax_submit();

    });

});

        function fire_ajax_submit() {

        // Get form
        var form = $('#fileUploadForm')[0];
        alert(form.files[0]);

        var data = new FormData(form);
        data.append("CustomField", "This is some extra data, testing");

        $("#btnSubmit").prop("disabled", true);

        $.ajax({
            type: "POST",
            enctype: 'multipart/form-data',
            url: "http://10.13.20.166:5332/fileUploadtoFolder",
            data: data,

            processData: false, 
            contentType: false,
            cache: false,
            timeout: 600000,
            success: function (data) {

                $("#result").text(data);
                console.log("SUCCESS : ", data);
                $("#btnSubmit").prop("disabled", false);

            },
            error: function (e) {

                $("#result").text(e.responseText);
                console.log("ERROR : ", e);
                $("#btnSubmit").prop("disabled", false);

            }
        });

        }
ajax jquery-file-upload
1个回答
0
投票

修改你的代码👇

var data = new FormData(form);

使用此代码👇

// Create an FormData object
var data = new FormData(document.getElementById("fileUploadForm"));

再试一次

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