const classafBedSheet::FileAsset

sys::Obj
  afBedSheet::FileAsset

(Response Object) Use in place of a File object to prevent excessive polling of the file system. As every call to File.exists() typically takes at least 8ms-12ms, this is probably a good thing!

Generally you would acquire FileAssets from the FileHander and PodHander services and use them to embed client URLs in your web pages.

fileHandler.fromLocalUrl(`/images/fanny.jpg`).clientUrl
clientUrl

Source

const Uri? clientUrl

The URL that clients (e.g. web browsers) should use to access the file resource. The clientUrl contains any extra WebMod path segments required to reach the BedSheet WebMod. It also contains path segments as provided by any asset caching strategies, such as Cold Feet.

Client URLs are designed to be used / embedded in your HTML.

Note: use BedSheetServer should you want an absolute URL that starts with http://.

Returns null if file doesn't exist.

etag

Source

const Str? etag

The ETag uniquely identifies the file and its version. The default implementation is a hash of the modified time and the file size.

Returns null if file doesn't exist

exists

Source

const Bool exists

Returns true if the file exists. (Or did at the time this class was created.)

file

Source

const File file

The file in question

localUrl

Source

const Uri? localUrl

The URL relative to the BedSheet WebMod that corresponds to the file resource. If your application is the ROOT WebMod then this will be the same as clientUrl; bar any asset caching. If in doubt, use the clientUrl instead.

Returns null if file doesn't exist.

modified

Source

const DateTime? modified

Get the modified time of the file, floored to 1 second which is the most precision that HTTP can deal with.

Returns null if file doesn't exist

size

Source

const Int? size

The size of the file in bytes.

Returns null if file doesn't exist

toStr

Source

virtual override Str toStr()

Returns clientUrl so this can be printed in HTML, or file.toStr if clientUrl is null.