繁体   English   中英

使用JS和NodeJS上载文件发布请求

[英]Upload file post request with JS and NodeJS

我有以下请求,我想在nodejs中写一个发布请求:

POST / rest-api / hashDb / createAndUpload HTTP / 1.1

主机:192.168.101.54

连接:保持活动状态

内容长度:428

来源: https : //192.168.101.54

用户代理:Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 67.0.3396.87 Safari / 537.36

内容类型:多部分/表单数据; boundary = ---- WebKitFormBoundaryQGLkZW0bVDsvWPEY

接受: /

引荐来源: https//192.168.101.54/ufed/index.html

接受编码:gzip,deflate,br

接受语言:en-US,en; q = 0.9,es; q = 0.8,he; q = 0.7

Cookie:JSESSIONID = s3a5sjc6wp1y1k9hv5advlf3a

这是我编写的代码,但是不起作用(文件未上传):

var FormData = require('form-data');
var fs = require('fs');
var request = require("request")
// var XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest;

let filePath = "C:\\Temp\\directory.txt" 
let myFile = fs.readFileSync(filePath,'utf8');
var formData = new FormData();
formData.append("myFile", myFile, "directory.txt");
var bounding = {"id":null,"type":"HashDbDto","name":"jorge1","fileType":"TXT","version":"1.2","redaction":false,"categories":[],"format":"MD5"};
formData.append("myFile", JSON.stringify(bounding));

request({
    headers: {'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryeiNygPyQcm8jomRB'},
    url: "https://192.168.101.54/rest-api/hashDb/createAndUpload",
    method: "POST",
    form: formData
});

您有什么解决方案?

使用formData键而不是form

request({
   headers: {'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryeiNygPyQcm8jomRB'},
   url: "https://192.168.101.54/rest-api/hashDb/createAndUpload",
   method: "POST",
   form: formData
})

请参阅https://www.npmjs.com/package/request 对于多部分/表单数据,我们使用@felixge提供的表单数据库。 在大多数情况下,您可以通过formData选项传递上传表单数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM