#ruby #webrick
#ruby #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>
}
Ответ №1:
Если ваш путь к изображениям похож, /home/users/images
вы должны объявить DocumentRoot
:
s = HTTPServer.new(Port: 2000, DocumentRoot: "/home/users")
И тогда вы можете получить доступ к изображению:
http://localhost/images/image1.jpg