内容类型标题错误,没有多部分边界

时间:2019-09-18 07:03:28

标签: html

我正在尝试将HTML页面中的文件上传到NodeJS后端

当选择multipart / form-data作为内容类型时,出现错误“错误的内容类型标头,没有多部分边界”。

表格:

<form>
  <table>
    <tr>
      <td colspan="2">File Upload</td>
    </tr>
    <tr>
      <th>Select File </th>
      <td><input id="csv" name="csv" type="file" /></td>
    </tr>
    <tr>
      <td colspan="2">
        <input type="submit" value="Submit" id="submitClickEvt"/> 
      </td>
    </tr>
  </table>
</form>

脚本

<script type="text/javascript">
        var submitClickEvt = document.getElementById('submitClickEvt');
        submitClickEvt.addEventListener('click', submitClicked);
           function submitClicked(event) {
                event.preventDefault();
                var data = document.getElementById('csv').value;


                ajaxCall(data, "http://localhost:3000/user/uploadpdf", function(status, response) {
                if (status == 200) {

                } else {
                    alert('Error', status)
                }
            });
          }

        function ajaxCall(data, url, callback) {
            var xhttp = new XMLHttpRequest();
            xhttp.open("POST", url, true);
            xhttp.onreadystatechange = function() {
                if (this.readyState == 4) {
                    return callback(this.status, JSON.parse(xhttp.response));
                }
            }
            xhttp.setRequestHeader("Content-type", "multipart/form-data");
            xhttp.send(data);
        }
</script>

我想上传到后端,但是似乎无法正常工作。

1 个答案:

答案 0 :(得分:0)

使用multipart / form-data时需要设置边界,请检查https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type中的boundary参数

您的代码缺少此内容,仅设置内容类型似乎是导致此问题的原因。