使用XMLHttpRequest时遇到TypeError异常

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

我正在编写一个Visual Studio扩展,并尝试使用multipart / form-data通过http请求发送图像。

  const fs = require('fs');
  const form = new FormData();
  const f = fs.readFileSync('/IMG.jpg');
  const XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
  let request = new XMLHttpRequest();
  request.onreadystatechange = function() {
    console.log(`${request.readyState}`);
    if (request.readyState === 4) {
      console.log(`Successfully uploaded at: ${request.response.date}`);
    }
  };
  request.open('POST', `https://api.trello.com/1/card/${idCard}/attachments`);
  form.append("key", this.getKey());
  form.append("token", this.getToken());
  form.append("file", f);
  form.append("mimeType", "image/jpg");
  form.append("name", "My Awesome File");
  //request.setRequestHeader('Content-Type','multipart/form-data');
  request.send(form);

request.send(form)行我有例外

  TypeError [ERR_INVALID_ARG_TYPE] [ERR_INVALID_ARG_TYPE]: The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type object

使用XmlHttpRequest的所有示例都表明,可以在此方法中使用FormData。我从npm为Node.js安装了XmlHttpRequest和FormData。

如何发送此FormData?

typescript xmlhttprequest multipartform-data
1个回答
0
投票

npm的XmlHttpRequest出现问题#174。它不支持FormData。您可以使用方法FormData.getBuffer()

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