Node.js 斜纹棉布+;快车
我正在尝试制作一个使用TwilioAPI发送彩信的web应用程序。从我的本地机器上传一个图像效果很好。我正在使用保存图像 使用multer保存图像后,我想使用Twilio通过彩信发送图像,但Twilio监视器中不断出现此错误 错误:12300-内容类型无效 这是我的表格:Node.js 斜纹棉布+;快车,node.js,express,twilio,content-type,multer,Node.js,Express,Twilio,Content Type,Multer,我正在尝试制作一个使用TwilioAPI发送彩信的web应用程序。从我的本地机器上传一个图像效果很好。我正在使用保存图像 使用multer保存图像后,我想使用Twilio通过彩信发送图像,但Twilio监视器中不断出现此错误 错误:12300-内容类型无效 这是我的表格: <form method="post" encType="multipart/form-data" action="/upload"> <input type="file" name="imageFi
<form method="post" encType="multipart/form-data" action="/upload">
<input type="file" name="imageFile" />
<button type="submit">Send</button>
</form>
如您所见,我将内容类型包括在
client.messages.create
中。我还希望每次上传图像时不要被重定向到/upload
路线。这里是Twilio福音传道者。Twilio在该错误消息中说,它从您提供的mediaURL获得的HTTP响应有一个我们不理解的内容类型头值。如果你卷曲这个URL,返回的内容类型头值是多少?@devinReader我得到的是text/html。它不应该是image/png
,因为我在mediaContentType
中手动设置了它吗?您必须配置用于服务url“{file}”的任何服务器和/或应用程序框架,以使用适当的内容类型头来服务该url。据我所知,mediaContentType不是twilio在使用创建功能让twilio发送彩信时会识别的参数。这就是我建议使用curl请求URL的原因。如果curl请求没有显示正确的内容类型,twilio也不会得到它。@devinReader我怎么做?我是个新手,昨天修好了!我不需要“上传”的链接,因为我是作为一个静态文件lol服务。谢谢:)Twilio福音传道者在这里。Twilio在该错误消息中说,它从您提供的mediaURL获得的HTTP响应有一个我们不理解的内容类型头值。如果你卷曲这个URL,返回的内容类型头值是多少?@devinReader我得到的是text/html。它不应该是image/png
,因为我在mediaContentType
中手动设置了它吗?您必须配置用于服务url“{file}”的任何服务器和/或应用程序框架,以使用适当的内容类型头来服务该url。据我所知,mediaContentType不是twilio在使用创建功能让twilio发送彩信时会识别的参数。这就是我建议使用curl请求URL的原因。如果curl请求没有显示正确的内容类型,twilio也不会得到它。@devinReader我怎么做?我是个新手,昨天修好了!我不需要在链接中“上传”,因为我将其作为静态文件lol提供。谢谢:)
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, '/uploads');
},
filename: function (req, file, cb) {
cb(null, `${file.fieldname}-${Date.now()}.png`);
}
});
var upload = multer({ storage: storage });
app.post('/upload', upload.single('imageFile'), function (req, res, next) {
var user = ref.getAuth();
var file = req.file.filename;
client.messages.create({
from: twilioNumber,
to: 1234567890,
mediaContentType: 'image/png',
mediaUrl: `http://example.com/uploads/${file}`
}, function(err, message) {
if(err) {
console.log('Error!', err);
} else {
console.log('Message SID:', message.sid);
}
}
});