Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
October 26, 2016 [vibe.d] showing images | ||||
---|---|---|---|---|
| ||||
doctype html html body -foreach(s; images) // it doesn't seem to like #{s} or !{s} 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. |
October 26, 2016 Re: [vibe.d] showing images | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nicholas Wilson | 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?
|
October 26, 2016 Re: [vibe.d] showing images | ||||
---|---|---|---|---|
| ||||
Posted in reply to wobbles | 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:
>> [...]
>
> When you get the 404, do you see the contents of 'writeln(images);' in your terminal?
yes.
the 404 is only for the image the page still renders fine, but the image is replaced by the missing image image.
|
October 26, 2016 Re: [vibe.d] showing images | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nicholas Wilson | On Wednesday, 26 October 2016 at 12:42:09 UTC, Nicholas Wilson wrote: > doctype html > html > body > -foreach(s; images) > // it doesn't seem to like #{s} or !{s} > 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 |
October 26, 2016 Re: [vibe.d] showing images | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nicholas Wilson | On Wednesday, 26 October 2016 at 12:42:09 UTC, Nicholas Wilson wrote:
> doctype html
> html
> body
> -foreach(s; images)
> // it doesn't seem to like #{s} or !{s}
> img(src=s)
>
> [...]
Inherit from Web interface?
|
October 27, 2016 Re: [vibe.d] showing images | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rene Zwanenburg | 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:
>> [...]
>
> You need to make the images accessible over HTTP. Note the use of staticFileServer in the following example:
>
> http://vibed.org/docs#http-routing
Thanks. I ended up getting rid if the class and using the get and post method on the router.
|
Copyright © 1999-2021 by the D Language Foundation