Node.js 具有节点js statusCode:307、statusMessage:'的表单数据;临时重定向';
以下设置有什么问题Node.js 具有节点js statusCode:307、statusMessage:'的表单数据;临时重定向';,node.js,form-data,Node.js,Form Data,以下设置有什么问题 var form = new FormData(); form.append('something', fs.createReadStream(filePath)); form.append('data', JSON.stringify({ "stuff": "hi" })); form.submit({ host: "example.com"
var form = new FormData();
form.append('something', fs.createReadStream(filePath));
form.append('data', JSON.stringify({
"stuff": "hi"
}));
form.submit({
host: "example.com",
path: `/blah`,
headers: {
"Authorization": `...`
}
}, function (err, res) {
res.resume();
});
问题是我看到:
statusCode:307,statusMessage:“临时重定向”
如果我检查res
我提交表格的方式有什么问题吗
恢复()的功能是什么
我一直在努力做到这一点:这对我来说可能是一个非常具体的问题,不幸的是,我忘记了使这项工作成功的具体细节。然而,为了人类的利益,这里有一些代码现在确实可以工作了(如果你想知道为什么事情会……等等,我已经混淆了一些代码) 异步上传媒体(…){ 常量url=`…`; var form=new FormData(); append('x',fs.createReadStream(filePath)); form.append('y',JSON.stringify({ ... })); 设headers=this.#getHeaders(); 删除标题['Content-Type']; 返回新承诺((解决、拒绝)=>{ const req=form.submit({ 方法:'放', 主机:process.env.GATEWAY\u API\u URL, 路径:`/api/…`, 协议:“https:”, 标题:标题 },函数(err,res){ 如果(错误){ 返回拒绝(新错误(错误消息)); } 如果(res.statusCode<200 | | res.statusCode>299){ 返回拒绝(新错误(`HTTP状态代码${res.statusCode}`)); } 常量体=[] res.on('data',(chunk)=>body.push(chunk)) res.on('结束',()=>{ const resString=Buffer.concat(body.toString(); 解决(restring); }) }); }) }
async uploadMedia(...) {
const url = `...`;
var form = new FormData();
form.append('x', fs.createReadStream(filePath));
form.append('y', JSON.stringify({
...
}));
let headers = this.#getHeaders();
delete headers['Content-Type'];
return new Promise((resolve, reject) => {
const req = form.submit({
method: 'PUT',
host: process.env.GATEWAY_API_URL,
path: `/api/...`,
protocol: 'https:',
headers: headers
}, function (err, res) {
if (err) {
return reject(new Error(err.message));
}
if (res.statusCode < 200 || res.statusCode > 299) {
return reject(new Error(`HTTP status code ${res.statusCode}`));
}
const body = []
res.on('data', (chunk) => body.push(chunk))
res.on('end', () => {
const resString = Buffer.concat(body).toString();
resolve(resString);
})
});
})
}