code: function(fileBlobOrUrl, container, options) {
              if (qq.isString(fileBlobOrUrl)) {
                  log("Attempting to update thumbnail based on server response.");
                  return drawFromUrl(fileBlobOrUrl, container, options || {});
              }
              else {
                  log("Attempting to draw client-side image preview.");
                  return draw(fileBlobOrUrl, container, options || {});
              }
          }
docs: Generate a thumbnail.  Depending on the arguments, this may either result in
  a client-side rendering of an image (if a `Blob` is supplied) or a server-generated
  image that may optionally be scaled client-side using <canvas> or CSS/styles (as a fallback).
  
  @param fileBlobOrUrl a `File`, `Blob`, or a URL pointing to the image
  @param container <img> or <canvas> to contain the preview
  @param options possible properties include `maxSize` (int), `orient` (bool - default true), resize` (bool - default true), and `customResizeFunction`.
  @returns qq.Promise fulfilled when the preview has been drawn, or the attempt has failed