我正在使用ckeditor
,并将图像上传到我使用carrierwave
和minimagick
配置的dropbox。几天后,尽管图片没有出现在博客上,但它在控制台中显示了以下内容
Failed to load resource: the server responded with a status of 401 (Not Authorized)
示例链接(资源图像)
https://dl.dropboxusercontent.com/1/view/5qo62va4g4uwsqn/uploads/ckeditor/pictures/1/content_1.png
如果我去了ckeditor,再次浏览图像并重新加载它,它会工作几天,然后仍然有效。
我有什么东西不见了吗?
由于carrierwave-dropbox
-gem使用了API的media
部分和注释中指出的greg,因此此链接将在几个小时后过期。
这是我使用shares
使其工作所遵循的程序
首先找到carrierwave-dropbox gem
安装位置导航到
libcarrierwavestoragedropbox.rb
并将线路CCD_ 11更改为以下
@client.shares(@path, short_url = false)["url"]
接下来在application_helper.rb
中制作一个助手方法
def rewrite_url(url)
u = url
u.slice! "dl=0"
u = u + "raw=1"
u
end
本质上,它所做的只是从返回的字符串中删除dl=0部分,因为它指向dropbox上的预览,并在末尾添加raw=1
以实际显示直接文件。
接下来,在图像标签上这样称呼它
<%= image_tag rewrite_url(@question.image_url(:resized)) %>
:resized
是因为我调整了图像的大小,关键部分是将图像url包装到辅助中
read_more:更多信息
非常感谢Greg的帮助。