当前位置: 首页 > 面试题库 >

在Node.js中使用POST请求上传文件

海信鸥
2023-03-14
问题内容

我在Node.js中使用POST请求上传文件时遇到问题。我必须使用request模块来完成该操作(无需外部npms)。服务器需要它是file包含文件数据字段的多部分请求。看起来很容易,但不使用任何外部模块就很难在Node.js中完成。

我尝试使用此示例,但未成功:

request.post({
  uri: url,
  method: 'POST',
  multipart: [{
    body: '<FILE_DATA>'
  }]
}, function (err, resp, body) {
  if (err) {
    console.log('Error!');
  } else {
    console.log('URL: ' + body);
  }
});

问题答案:

看起来您已经在使用requestmodule了。

在这种情况下,您需要发布的multipart/form- data只是使用其form功能:

var req = request.post(url, function (err, resp, body) {
  if (err) {
    console.log('Error!');
  } else {
    console.log('URL: ' + body);
  }
});
var form = req.form();
form.append('file', '<FILE_DATA>', {
  filename: 'myfile.txt',
  contentType: 'text/plain'
});

但是,如果您想从文件系统中发布一些现有文件,则可以简单地将其作为可读流传递:

form.append('file', fs.createReadStream(filepath));

request 将自行提取所有相关的元数据。

有关发布的更多信息,multipart/form-data请参见node-form- data模块内部使用request



 类似资料:
  • 主要内容:获取GET请求内容,实例,实例,获取 POST 请求内容,基本语法结构说明,实例在很多场景中,我们的服务器都需要跟用户的浏览器打交道,如表单提交。 表单提交到服务器一般都使用 GET/POST 请求。 本章节我们将为大家介绍 Node.js GET/POST请求。 获取GET请求内容 由于GET请求直接被嵌入在路径中,URL是完整的请求路径,包括了?后面的部分,因此你可以手动解析后面的内容作为GET请求的参数。 node.js 中 url 模块中的 parse 函数提供了这个

  • 在很多场景中,我们的服务器都需要跟用户的浏览器打交道,如表单提交。 表单提交到服务器一般都使用 GET/POST 请求。 本章节我们将为大家介绍 Node.js GET/POS T请求。 获取GET请求内容 由于GET请求直接被嵌入在路径中,URL是完整的请求路径,包括了?后面的部分,因此你可以手动解析后面的内容作为GET请求的参数。 node.js 中 url 模块中的 parse 函数提供了这

  • 我正试图在post请求负载中传递数组。 有效载荷: 我所做的是: 但我得到的回应是: “找不到请求数据”

  • 问题内容: 我正在使用微信API …在这里,我必须使用此API http://admin.wechat.com/wiki/index.php?title=Transferring_Multimedia_Files将图像上传到微信服务器 我无法发布数据 问题答案: 来自微信API文档: 将上面的命令翻译成python:

  • 我可以使用将文件上载为 上面的代码运行良好。 现在,我想对同一作业使用。我试着在网上搜索并实现代码。但我无法得到结果。 html代码如下所示: 代码中没有任何形式。如何解决问题?

  • 我正在为客户端移植Vimeo PHP库https://github.com/vimeo/vimeo-php-libColdFusion,并成功地翻译了除了视频上传POST请求之外的所有内容。PHP库使用如下cURL: