我使用以下方式发布到ASP.NET MVC服务器:
var request = require("request");
...
var formData = {
designerCode: data.designerCode,
designCode: data.designCode,
designName: data.designName,
package: zipBuffer
}
var url = constants.upload_zip_url + "/job/upload/" + encodeURIComponent(data.jobId) + "/" + encodeURIComponent(data.clientId);
request.post({
url: url,
headers: {"Authorization": "Bearer " + pniGlobalAuthToken},
formData: formData
}, function postCallback(err, response, body) {
console.log(err, response, body);
})
在服务器上我有:
using (var requestContent = Request.Content)
{
var contents = (await requestContent.ReadAsMultipartAsync()).Contents;
var contentDic = contents.ToDictionary(c => c.Headers.ContentDisposition.Name);
然而此时:
contentDic.Keys
Count = 4
[0]: "\"designCode\""
[1]: "\"designName\""
[2]: "\"package\""
[3]: "\"designerCode\""
因此请求模块在表单键值周围添加引号。它是硬编码的,还是有一个参数可以将其关闭?我查看了文档,但无法找到任何内容:https://github.com/request/request
我总是可以删除服务器上的引号,但这很烦人。请求是我发现的最方便的节点模块。还有其他人遇到过类似的东西吗?