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

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

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

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

Дополнительные материалы

  1. Кастомные JS файлы
  2. Кастомные CSS файлы для страницы

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

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

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK