使用节点 js statusCode:307、statusMessage:'Temporary Redirect' 形成数据
Form Data with node js statusCode:307, statusMessage:'Temporary Redirect'
下面的设置有什么问题?
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:'Temporary Redirect'
如果我检查 res
我提交表格的方式有什么问题吗?
res.resume()
是做什么的?
我一直在努力遵循这个:https://www.npmjs.com/package/form-data
这对我来说可能是一个非常具体的问题,不幸的是我忘记了使这项工作成功的具体细节。然而,为了人类的利益,这里是现在可以工作的代码(如果你想知道为什么事情是......等等,我已经混淆了一堆)
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);
})
});
})
}
下面的设置有什么问题?
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:'Temporary Redirect'
如果我检查 res
我提交表格的方式有什么问题吗?
res.resume()
是做什么的?
我一直在努力遵循这个:https://www.npmjs.com/package/form-data
这对我来说可能是一个非常具体的问题,不幸的是我忘记了使这项工作成功的具体细节。然而,为了人类的利益,这里是现在可以工作的代码(如果你想知道为什么事情是......等等,我已经混淆了一堆)
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);
})
});
})
}