Javascript 从html页面捕获屏幕截图,上传到服务器,并将其用作FB提要中的图片
使用Meteor js应用程序,我的目标是以某种方式将html页面捕获到图像中,然后将其用作facebook提要对话框中的显示图片。 我使用脚本完成了目标的第一部分,将html页面呈现到画布中。然后,我使用从onrendered方法返回的画布生成一个base64字符串:Javascript 从html页面捕获屏幕截图,上传到服务器,并将其用作FB提要中的图片,javascript,facebook,meteor,Javascript,Facebook,Meteor,使用Meteor js应用程序,我的目标是以某种方式将html页面捕获到图像中,然后将其用作facebook提要对话框中的显示图片。 我使用脚本完成了目标的第一部分,将html页面呈现到画布中。然后,我使用从onrendered方法返回的画布生成一个base64字符串: var data = canvas.toDataURL("image/png") 我想保存到服务器并在facebook提要对话框中使用它的url。我尝试使用fs集合: var imageStore=new FS.Store.G
var data = canvas.toDataURL("image/png")
我想保存到服务器并在facebook提要对话框中使用它的url。我尝试使用fs集合:
var imageStore=new FS.Store.GridFS('images')
保存数据
Images.insert(data, function(err, fileObj) {
template.autorun(function(c) {
fileObj = Images.findOne(fileObj._id);
var url = fileObj.url();
if (url) {
window.open(Meteor.absoluteUrl().split('/')[0] + url);
c.stop();
}
});
});
但返回的url的格式如下:
cfs/files/images/26fFLWDvMDWuruFvt?token=eyJhdXRoVG9r。。。
我可以在浏览器上打开图像,只需将应用程序的绝对url附加到该url前面,但这在facebook的feed对话框中不起作用(部署在meteor服务器上,我的facebook对话框返回一个“错误消息:图片格式不正确”
)。
为了实现我的目标,我还有哪些其他选择?提前谢谢
编辑:抱歉,假警报:)facebook提要对话框实际上可以使用
Meteor.absoluteUrl().substr(0, Meteor.absoluteUrl().length - 1) + url
上传到AmazonS3并使用那个URL怎么样?很抱歉,我现在不能这么做。除了使用文件存储服务,你还知道其他选择吗?你可以使用类似于上传到Amazon S3并使用该URL的方式来代替?对不起,我现在不想这样做。除了使用文件存储服务,您还知道其他选项吗?您可以使用类似
Meteor.absoluteUrl().substr(0, Meteor.absoluteUrl().length - 1) + url