подача изображений с помощью Webrick

Мне нужно получить несколько изображений из папки на компьютере пользователя и отобразить их на веб-странице с помощью сервера webrick. Я использую следующий код для сканирования каталога, а затем включаю путь к веб-серверу. Я получаю правильные пути к изображениям, но получаю сообщение об ошибке 404 от Webrick при попытке доступа к странице. Я перемещал файлы и менял разрешения без каких-либо успехов. У меня есть ощущение, что 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>
}

person tsugua    schedule 12.05.2011    source источник


Ответы (1)


Если ваш путь к изображениям похож на /home/users/images, вы должны объявить DocumentRoot:

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

И тогда вы можете получить доступ к изображению:

http://localhost/images/image1.jpg
person Vasiliy Ermolovich    schedule 12.05.2011