我正在嘗試使用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進行上傳。