我正在尝试使用Facebook营销API SDK将图片上传到Facebook。通过Facebook上的营销API通过浏览器上传图片
这是sdk
我希望用户能够点击选择从浏览器中的文件,并通过运行Rails和SDK中的上传。
基本上,这是我想要做的流程。
- 用户选择文件
- 键上传
- 后端控制器处理该请求,并上传到经由API使用Facebook。
但是,我遇到的问题是,出于安全原因,浏览器无法访问Facebook SDK要求的文件路径。
ad_account.adimages.create({
'logo1.png' => File.open('./assets/logo1.jpg')
})
如果我使用内置到Rails或carrierwave ActionDispatch::Http::FileUpload
,我得到访问tempfile
,其具有类似于RackMultipart20170803-89798-1e9hr
的名称。如果我试图将其上传到Facebook,我得到一个错误说
API不接受这种类型的文件
没有人有我什么是最好的选择是什么?我能想到的唯一事情就是将文件上传到像cloudinary这样的主机,然后从中获取URL并通过cloudinary的URL进行上传。