digitalmars.D.learn - [vibe.d] showing images
- Nicholas Wilson (27/27) Oct 26 2016 doctype html
- wobbles (4/5) Oct 26 2016 When you get the 404, do you see the contents of
- Nicholas Wilson (4/9) Oct 26 2016 yes.
- Rene Zwanenburg (5/33) Oct 26 2016 You need to make the images accessible over HTTP. Note the use of
- Nicholas Wilson (4/10) Oct 26 2016 Thanks. I ended up getting rid if the class and using the get and
- Karabuta (3/10) Oct 26 2016 Inherit from Web interface?
doctype html
html
body
-foreach(s; images)
img(src=s)
----------
shared static this()
{
auto router = new URLRouter;
router.registerWebInterface(new CamController);
auto settings = new HTTPServerSettings;
settings.port = 8081;
settings.bindAddresses = ["::1", "127.0.0.1"];
listenHTTP(settings, router);
}
class Controller
{
void index(HTTPServerRequest req, HTTPServerResponse res)
{
auto images = dirEntries("public/images",SpanMode.breadth)
.map!(f=> f.name).array;
writeln(images); // ["public/images/testprog.jpg"]
res.render!("index.dt",images);
}
}
What am I missing? I just get a 404 for the image.
Oct 26 2016
On Wednesday, 26 October 2016 at 12:42:09 UTC, Nicholas Wilson wrote:[...]When you get the 404, do you see the contents of 'writeln(images);' in your terminal?
Oct 26 2016
On Wednesday, 26 October 2016 at 12:57:24 UTC, wobbles wrote:On Wednesday, 26 October 2016 at 12:42:09 UTC, Nicholas Wilson wrote:yes. the 404 is only for the image the page still renders fine, but the image is replaced by the missing image image.[...]When you get the 404, do you see the contents of 'writeln(images);' in your terminal?
Oct 26 2016
On Wednesday, 26 October 2016 at 12:42:09 UTC, Nicholas Wilson
wrote:
doctype html
html
body
-foreach(s; images)
img(src=s)
----------
shared static this()
{
auto router = new URLRouter;
router.registerWebInterface(new CamController);
auto settings = new HTTPServerSettings;
settings.port = 8081;
settings.bindAddresses = ["::1", "127.0.0.1"];
listenHTTP(settings, router);
}
class Controller
{
void index(HTTPServerRequest req, HTTPServerResponse res)
{
auto images =
dirEntries("public/images",SpanMode.breadth)
.map!(f=> f.name).array;
writeln(images); // ["public/images/testprog.jpg"]
res.render!("index.dt",images);
}
}
What am I missing? I just get a 404 for the image.
You need to make the images accessible over HTTP. Note the use of
staticFileServer in the following example:
http://vibed.org/docs#http-routing
Oct 26 2016
On Wednesday, 26 October 2016 at 18:39:00 UTC, Rene Zwanenburg wrote:On Wednesday, 26 October 2016 at 12:42:09 UTC, Nicholas Wilson wrote:Thanks. I ended up getting rid if the class and using the get and post method on the router.[...]You need to make the images accessible over HTTP. Note the use of staticFileServer in the following example: http://vibed.org/docs#http-routing
Oct 26 2016
On Wednesday, 26 October 2016 at 12:42:09 UTC, Nicholas Wilson
wrote:
doctype html
html
body
-foreach(s; images)
img(src=s)
[...]
Inherit from Web interface?
Oct 26 2016









Nicholas Wilson <iamthewilsonator hotmail.com> 