【发布时间】:2019-10-03 11:23:02
【问题描述】:
我有一个从messenger bot 打开的webview。
我想从webview 向对话发送图像数据(无 URL - 来自画布的数据)。
我尝试将Messenger SDK beginShareFlow 与文件数据附件一起使用:
function uploadImage(data) {
let message = {
"attachment": {
"type": "image",
"payload": {
"is_reusable": true
},
"filedata": data
}
};
MessengerExtensions.beginShareFlow(function (share_response) {
// User dismissed without error
if (share_response.is_sent) {
// The user actually did share.
//close the webview
MessengerExtensions.requestCloseBrowser(function success() {
// webview closed
}, function error(err) {
console.log(err);
});
}
},
function (errorCode, errorMessage) {
// An error occurred in the process
console.log(errorMessage);
},
message, "current_thread");
}
但我得到一个错误:
Messenger Extensions unexpected error.
不胜感激=]
编辑:
我发现filedata 用于传输文件位置(我没有)。
所以我尝试了其他解决方案:
- 我从我的 cavas
blob创建,并尝试将它传递给filedata- 没有用 - 我创建了一个
blob文件(通过添加名称和日期)并尝试移动位置 - 没有成功 - 我从
blob创建了一个 url 并尝试将其作为 url 移动(不是作为文件数据) - 出现错误:
消息内容中提供的图片 URL 无效
当我从浏览器转到 blob url 时,我看到了图像 =[
【问题讨论】:
-
你能保存文件吗?您可以使用 tmp 文件并将该文件的位置作为
filedata参数发送。 -
@FThompson。确实。但如果没有其他方法,这是默认解决方案。因为我没有兴趣下载到用户的电脑文件:(
标签: javascript file blob facebook-messenger facebook-messenger-bot