Подгружаемые файлы

Вывод статичных файлов через систему подгружаемых файлов (Robots.txt и др). 

Вы можете настроить получение любого файла по определенному адресу. 
/Controls/Resource/GetFile?code={code} по данному адресу можно запросить некий файл + передать дополнительные параметры. 
Содержимое файла формируется в хранимой процедуре rs_{code}_getFile
Управление хранимыми процедурами реализовано в разделе Типы подгружаемых файлов.

CREATE PROCEDURE [dbo].[rs_example_getFile]
    @urlParameters DictionaryParameter READONLY,
    @username nvarchar(32),
    @lang int = 0
AS
BEGIN
    /*Процедура выдает некий файл исходя из параметров URL
      (содержимое файла может браться из настроек либо формироваться
       прямо в процедуре)*/

    /*Как получать параметры из URL
      DECLARE @s nvarchar(128)
      DECLARE @s value from @urlParameters where [key] = 'itemID'*/

    -- выдаем результат
    SELECT top 1 1 Result,
                 '' Msg,
                 value Text, -- тело файла
                 'text/css' MimeType -- Mime Тип
    FROM as_settings
    WHERE code = 'globalCss'
END
 

В системе реализованы по умолчанию управление следующими файлами: 

  • Robots.txt - /Controls/Resource/GetFile?code=robots
  • глобальный файл JS - /Controls/Resource/GetFile?code=globalJS 
  • глобальный файл CSS - /Controls/Resource/GetFile?code=globalCSS
  • дефолтовая картинка товара в каталоге  - /Controls/Resource/GetFile?code=defaultProductImage.

По необходимости вы можете настроить редиректы в URL Rewrite на IIS для более легких путей к файлам. 

Работа с графическими файлами

Для работы с графическими файлами указываем их в кодировке Base64 (Используйте сервис https://www.base64-image.de/ для трансформации картинок в строку).
Типы файлов image/png, image/jpeg, image/gif


ВАЖНО. Файлы кешируются. Поэтому для получения свежей версии файла чуть меняйте ссылку, напр /Controls/Resource/GetFile?code=defaultProductImage&prefix=1
В дальнейшем вы можете указывать эту ссылку на файл.
Вид процедуры. Также вы можете указать вместо данных в Text ссылку на файл на сервере по необходимости, например, ‘/uploads/user…’. 
ALTER PROCEDURE [dbo].[rs_defaultProductImage_getFile]
    @urlParameters DictionaryParameter READONLY,
    @username nvarchar(32),
    @langID int = 0
AS
BEGIN
    SELECT top 1 1 Result,
                 '' Msg,
                 'data:image/png;base64,GB4bh8GDtOT7Ow2uh3P6xsGoH7mJ-
                  mR3i_0pwyO_qA2gNfCqgoTRiEQQmoiVS_0vgo-
                  tuWpP5Zhk8f1a5qlQuVCznYYJy3YvsrPA
                  hi9g2OTPeOJ2MMbNydw4Oxo9Illjjcvf' text,
                 'image/png' MimeType
END

Если вам нужно фото пользователя: /Controls/Resource/GetFile?code=userPhoto&user=demo1
Если превью фото пользователя: /Controls/Resource/GetFile?code=userPhoto&user=demo1&thumb=1
Falcon Space - функциальная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

адаптация под мобильные устройства. Про юзабилити платформы