Обработка спецсимволов в названии файлов (чтобы не было проблем со скачиванием)

Обработка спецсимволов в названии файлов 

По умолчанию идет обработка спецсимволов в названии файла - все спецсимволы заменяются через SQL функцию dbo.str_processurl (убедитесь, что она есть в БД).
Эту обработку можно отключить указав настройку resource.disableProcessName = 1 (в разделе /settings)
CREATE OR ALTER function [dbo].[str_processURL] (@string nvarchar(max))
returns nvarchar(max) as
begin
declare @res nvarchar(max) = lower(dbo.str_cyrillic2Latin(@string))
set @res = replace(@res, '_','-')
set @res = replace(@res, ' ','-')
set @res = replace(@res, '?','-')
set @res = replace(@res, '%','-')
set @res = replace(@res, '&','-')
set @res = replace(@res, '	','-')
set @res = replace(@res, '=','-')
set @res = replace(@res, ',','-')
set @res = replace(@res, '.','-')
set @res = replace(@res, '@','-')
set @res = replace(@res, '#','-')
set @res = replace(@res, '
,'-')
set @res = replace(@res, '*','-')
set @res = replace(@res, '(','-')
set @res = replace(@res, ')','-')
set @res = replace(@res, '/','-') -- возможно не везде надо будет.
set @res = replace(@res, '+','-')
set @res = replace(@res, ':','-')
set @res = replace(@res, '!','-')
set @res = replace(@res, '~','-')

declare @ind int = 1

while @ind <= 10 begin
	set @ind = @ind + 1
	if(right(@res,1)='-') begin
		set @res = left(@res,len(@res)-1)
	end
	if(left(@res,1)='-') begin
		set @res = right(@res,len(@res)-1)
	end

end

return @res
end

Важная данная обработка не будет действовать на те менеджеры ресурсов, для которых стоит настройка галка Загружать без изменений.

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

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

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

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