React native 在react native中将媒体(图像)上载到twilio可编程聊天时出现问题
我正在使用react native实现可编程聊天。不幸的是,我无法将带有图像的消息正确上传到twilio。概述了创建媒体消息的3种方法。发送:1)FormData(在react native中似乎不适用于我?),2)字符串,或3)缓冲区 在这一点上,我尝试了许多变化,但我还是被难住了。我已经带着这两个东西到处跑了,但还没有破解 我尝试的每件事都会导致失败或上传字符串。上传字符串后,我可以通过获取创建的媒体消息、获取媒体附件的临时url、手动获取存储在该url的字符串,然后使用获取的字符串为Image元素创建base64数据uri来完成一次往返。但我99%肯定这是“做错了”。如果我做得对,Twilio应该为我存储一个实际的图像,并给我一个临时url,我可以直接提供给我的图像元素,对吗 总而言之:我可以将base64编码的字符串存储在twilio中,但就我的一生而言,我不知道如何将图像二进制存储在那里,以便在点击它所在的url时可以直接访问React native 在react native中将媒体(图像)上载到twilio可编程聊天时出现问题,react-native,twilio,twilio-programmable-chat,React Native,Twilio,Twilio Programmable Chat,我正在使用react native实现可编程聊天。不幸的是,我无法将带有图像的消息正确上传到twilio。概述了创建媒体消息的3种方法。发送:1)FormData(在react native中似乎不适用于我?),2)字符串,或3)缓冲区 在这一点上,我尝试了许多变化,但我还是被难住了。我已经带着这两个东西到处跑了,但还没有破解 我尝试的每件事都会导致失败或上传字符串。上传字符串后,我可以通过获取创建的媒体消息、获取媒体附件的临时url、手动获取存储在该url的字符串,然后使用获取的字符串为Ima
我觉得我必须错过一些简单的东西,但我现在没有主意了。有没有办法在react native中设置缓冲区?我应该尝试使用FormData吗?我终于找到了答案。这只是一个不知道如何将文件放入react native中的缓冲区的问题。我终于能够通过和的组合来实现这一点。代码如下所示:
import RNFS from 'react-native-fs'
myMethod(twilioChannelObject, filePathString) {
RNFS.readFile(filePath, 'base64').then((data) => {
var Buffer = require('buffer/').Buffer
data = Buffer.from(data, 'base64')
twilioChannelObject.sendMessage({
contentType: 'image/png',
media: data
}).then(id => {})
})
}
这可能不是解决问题的最佳实践方法,但它对我来说很有效,所以现在继续吧。谢谢,它在twilio对话中也很有效!