【发布时间】:2018-08-07 17:50:40
【问题描述】:
我正在开发一个 express 节点应用程序,当用户将图像输入表单时,它会发布到 twitter。我在上传之前将图像保存在本地,这很有效。将文件编码为 base64 后,我尝试使用 twit 的媒体/上传功能将 base64 编码的文件上传到 Twitter。执行此操作时,我收到一条错误消息“无法识别媒体类型”。
这是我的代码:
app.post('/tweet', function(req, res){
var time = new Date().getTime()
let image = req.files.image
var imgpath = './images/img' + time + '.jpg'
image.mv(imgpath, function(err) {
if (err){
return res.status(500).send(err);
}
});
var b64content = fs.readFileSync(imgpath, { encoding: 'base64' })
T.post('media/upload', {media: b64content}, function(err, data, res) {
if (err) console.log(err);
console.log(data);
T.post('statuses/update', {status: 'posted picture at: ' + time, media_ids: [data.media_id_string]}, function(err, params, res) {
if (err) console.log(err);
console.log(params);
});
});
return res.redirect('/')
})
谢谢!
【问题讨论】: