使用Webrick提供图像

时间:2011-05-12 05:34:35

标签: ruby webrick

我需要从用户计算机上的文件夹中获取一些图像,并使用webrick服务器将它们显示在网页上。我使用以下代码扫描目录,然后包含Web服务器的路径。我正在获得正确的图像路径,但是当我尝试访问该页面时,我从Webrick收到错误404。我一直在移动文件并更改权限而没有任何成功。我有一种感觉webrick从埋在usr文件夹中的位置运行,但我不知道如何检查这个以及如何为它正确创建图像路径。任何帮助将不胜感激。

require 'webrick' 
include WEBrick

s = HTTPServer.new(Port: 2000)

class HelloServlet < HTTPServlet::AbstractServlet 

def do_GET(req, res)

  search_dir = 'users/user/Dropbox/ads_dir'
  files = Dir[ search_dir + '/*.jpg']
  p @file0 = files[0].to_s    
  p @file1 = files[1].to_s    
  p @file2 = files[2].to_s    
  p @file3 = files[3].to_s 

res['Content-Type'] = "text/html"
res.body = %{
        <img class="img1" src="#{@file0}"/>
        <img class="img2" src="#{@file1}"/>
        <img class="img3" src="#{@file2}"/>     
        <img class="img4" src="#{@file3}"/>
  </body> 
  </html>
}

1 个答案:

答案 0 :(得分:1)

如果您的图片路径与/home/users/images类似,则应声明DocumentRoot

s = HTTPServer.new(Port: 2000, DocumentRoot: "/home/users")

然后你就可以访问图像了:

http://localhost/images/image1.jpg