public. Retrieve file attachment content
| Name | Type | Description |
| filename | string | "=" followed by a double uri-encoded file name |
| pageid | string | either an integer page ID, "home", or "=" followed by a double uri-encoded page title |
| Name | Type | Description |
| format | {jpg, png, bmp, gif}? | Convert output to given type. Default is to use original type. |
| height | int? | Height of the image |
| ratio | {fixed, var}? | Fixed preserves aspect ratio by applying height and width as bounding maximums rather than absolute values. Variable will use the width and height given. Default: fixed |
| redirects | int? | If zero, do not follow page redirects (only applies when {pageid} is present). |
| revision | string? | File revision to retrieve. 'head' by default will retrieve latest revision. positive integer will retrieve specific revision |
| size | {original, thumb, webview, bestfit, custom}? | Return a resized image from one of the preset cached sizes. Use 'thumb' or 'webview' to return a smaller scaled image. Use 'bestfit' along with height/width to return one of the known sizes being at least the size given. Default: original |
| width | int? | Width of the image |
Use of the format, ratio, width/height, and size parameters requires the file to be an image.
The Content-Disposition, Content-Length, and Content-Type headers provide information about the retrieved file.
The following code example retrieves the file called "myfile.jpg" from the home page using a best fit of 100x100. The result is saved in the caller's temporary directory:
Plug p = Plug.New("http://deki-hayes/@api/deki");
p.At("users", "authenticate").WithCredentials("admin", "password").Get();
DreamMessage msg = p.At("pages", "home", "files", "=myfile%252ejpg").With("size", "bestfit").With("width", 100).With("height", 100).Get();
using (FileStream fs = System.IO.File.OpenWrite(Path.GetTempPath() + msg.ContentDisposition.FileName)) {
byte[] fileData = msg.AsBytes();
fs.Write(fileData, 0, fileData.Length);
}