我已经在softlayer VPS上设置了carrierwave。Carrierwave提供了在本地存储上保存文件的选项。
如果我使用public/images到shared_path/images的符号链接,那么图像会被上传,但不会被渲染。当我删除符号链接并直接将图像存储在public/images中时,我可以看到这些图像,但它的用处最小,因为以后的版本将不会有这些图像。
我的上载程序类app/uploader/image_uploader.rb如下所示
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
def default_url
"/assets/default.gif"
end
def extension_white_list
%w(jpg jpeg gif png)
end
def store_dir
"images"
end
end我在我的部署脚本中使用了符号链接
set :shared_children, shared_children + %w{public/images}
desc "Symbolic Link for Uploads"
task :symlink_uploads, :roles => [:app, :web] do
run "rm -rf #{release_path}/public/images &&
ln -nfs #{shared_path}/images #{release_path}/public/images"
end
after 'deploy:update_code', 'deploy:symlink_uploads'也尝试设置权限。但我还是看不到我上传的照片。
当我尝试从浏览器访问图像时,收到以下消息
Forbidden
You don't have permission to access /images/my_profile.jpg on this server.
Apache/2.2.14 (Ubuntu) Server at example.com Port 80我还通过Capistrano and Carrierwave、Carrierwave files with Capistrano
是否需要设置特定权限才能访问目录?例如:
chmod 755 shared_path/images找不到任何有效的解决方案。非常感谢您的帮助。
提前谢谢。
发布于 2013-05-14 00:06:04
明白了,这个不见了
Options FollowSymLinks尽管我把Options -Indexes +FollowSymLinks MultiViews控制在
<Directory></Directory>
想知道为什么+FollowSymLinks不工作
https://stackoverflow.com/questions/16522984
复制相似问题