Вверх ↑
Ответов: 49
Рейтинг: 11
#1: 2020-03-03 16:54:09 ЛС | профиль | цитата
Дано:
Использую последние версии пакета компонентов FTP_Client, проверил.
Структура и система именования на локальном (в корпоративной сети) ftp-сервере изменить нет возможности.

Трабл:
Столкнулся с проблемой, обсуждаемой в сети немало.
Если на ftp-сервере есть папка и/или файл с пробелом, напр. "Для тестов.mp4", в листинге выдаются, но ни перейти в соотв. директорию, ни воспользоваться файлом.
Экранирование "\", "/",подмена на "%20" не помогают, перекодировка - тоже. Заключение всего пути в кавычки эффекта не даёт. Я сдался и воспользовался виндовым клиентом и temp скриптом.
Но хочется воспользоваться штатными средствами, а не танцевать с внешними скриптами. Иначе они в пакете на что?

Вот мой полигон:
Add(MainForm,2953706,98,140)
{
Left=0
Top=0
Width=540
Height=372
Align=0
Color=-16777201
Font=[Segoe UI,10,0,0,204]
ParentFont=1
Visible=0
Enabled=0
Cursor=0
KeyPreview=0
TabOrder=0
Ctl3D=1
WinStyle=0
Name=""
Hint=""
HintManager="(empty)"
Layout="(empty)"
WidthScale=0
HeightScale=0
AlphaBlendValue=255
Caption="Try to goto ftp dir with whitespaces"
BorderStyle=2
WindowsState=0
Icon=[]
TaskBar=0
DragForm=1
TransparentColor=16777215
Picture=[]
SavePosName=""
MouseCapture=1
ClientSize=1
Position=0
ShiftLeft=0
ShiftTop=0
TransparentManager="(empty)"
FormFastening="(empty)"
Point(onClose)
link(onCreate,2760025:doTimer,[])
link(onClose,12459923:doClose,[(145,167)(145,202)])
}
Add(FTP_Client,12459923,217,189)
{
@Color=65535
Name="ftp_synol"
Host="synology.local"
Username="manager"
Password="[psw]"
Port=21
ErrorEvent=0
link(onConnect,16190135:doOn,[(269,195)(269,174)])
link(onDisconnect,16190135:doOff,[(274,202)(274,167)])
link(onGlobalError,14317570:doEvent1,[])
}
Add(FTPC_DirAction,11506876,875,196)
{
@Color=65535
Action=0
Directory=""
ErrorEvent=0
FTP_Client="ftp_synol"
link(Directory,10422315:Value,[(881,182)(816,182)(816,240)(783,240)])
}
Add(DoData,5924905,602,196)
{
Data=Null()
link(onEventData,6190417:doEvent1,[])
link(Data,16048045:Text,[])
}
Add(Memory,10422315,777,196)
{
Default=Null()
link(onData,6980240:doEvent1,[])
}
Add(FTPC_DirAction,2161259,875,315)
{
@Color=65535
Action=1
Directory=""
ErrorEvent=0
FTP_Client="ftp_synol"
Point(CurrentDir)
link(onDirAction,9887956:doEvent1,[])
}
Add(Timer,2760025,154,154)
{
Interval=500
Enable=1
AutoStop=1
OverCall=0
link(onTimer,12459923:doOpen,[(202,160)(202,195)])
}
Add(Edit,16048045,602,147)
{
Left=125
Top=5
Width=385
Height=20
Align=0
Color=-16777211
Font=[MS Sans Serif,8,0,0,1]
ParentFont=0
Visible=0
Enabled=0
Cursor=0
KeyPreview=0
TabOrder=0
Ctl3D=0
WinStyle=0
Name=""
Hint=""
HintManager="(empty)"
Layout="(empty)"
WidthScale=0
HeightScale=0
ModeSp=0
SizeSp=4
ColorSp=-16777201
MinOwn=0
MinRest=0
Text="/Proxy/TVPROGRAMPROXY/ТЕСТ/Для тестов_0"
Alignment=0
DataType=0
Password=1
ReadOnly=1
MaxLenField=0
ClearAfterEnter=1
AddHint(-77,-64,201,39,Text)
}
Add(LED,15742840,371,196)
{
@Hint=#12:Global Error|
Left=25
Top=5
Width=30
Height=30
Align=0
Color=-16777201
Font=[MS Sans Serif,8,0,0,1]
ParentFont=1
Visible=0
Enabled=0
Cursor=0
KeyPreview=0
TabOrder=0
Ctl3D=0
WinStyle=2
Name=""
Hint=""
HintManager="(empty)"
Layout="(empty)"
WidthScale=0
HeightScale=0
Shape=1
Blick=1
ColorOn=255
ColorOff=-16777201
ColorBlick=16777215
Value=1
AddHint(-27,-21,70,13,@Hint)
}
Add(Timer,4849110,315,210)
{
Interval=250
Enable=1
AutoStop=6
OverCall=0
Point(onStop)
link(onTimer,15742840:doChangeValue,[(359,216)(359,202)])
}
Add(BitBtn,14332600,546,196)
{
Left=65
Top=5
Width=55
Height=20
Align=0
Color=-16777201
Font=[MS Sans Serif,8,0,0,1]
ParentFont=0
Visible=0
Enabled=0
Cursor=0
KeyPreview=0
TabOrder=0
Ctl3D=1
WinStyle=0
Name=""
Hint=""
HintManager="(empty)"
Layout="(empty)"
WidthScale=0
HeightScale=0
Frame=0
FrameColor=8421504
Caption="Push"
Data=Null()
Flat=0
Bitmap=[]
link(onClick,5924905:doData,[])
}
Add(DoData,9485196,875,371)
{
Data=Null()
link(onEventData,14367973:doEvent1,[])
link(Data,2161259:CurrentDir,[])
}
Add(Hub,14317570,287,203)
{
InCount=1
OutCount=2
link(onEvent1,15742840:doOff,[])
link(onEvent2,4849110:doTimer,[])
}
Add(LED,16190135,287,154)
{
@Hint=#9:Connected|
Left=5
Top=5
Width=10
Height=30
Align=0
Color=-16777201
Font=[MS Sans Serif,8,0,0,1]
ParentFont=1
Visible=0
Enabled=0
Cursor=0
KeyPreview=0
TabOrder=0
Ctl3D=0
WinStyle=2
Name=""
Hint=""
HintManager="(empty)"
Layout="(empty)"
WidthScale=0
HeightScale=0
Shape=1
Blick=1
ColorOn=65280
ColorOff=-16777201
ColorBlick=16777215
Value=1
AddHint(-23,-20,67,13,@Hint)
}
Add(Hub,6980240,833,196)
{
InCount=1
OutCount=2
link(onEvent1,11506876:doDirAction,[])
link(onEvent2,2161259:doDirAction,[(861,209)(861,321)])
}
Add(FTPC_FileSearch,2084526,959,371)
{
@Color=65535
Mask="*"
Include=2
TimeType=0
TimeFormat="D.M.Y h:m"
SmallIcon=0
FTP_Client="ftp_synol"
link(onSearch,11419913:doAdd,[])
}
Add(Memo,11419913,1022,371)
{
@Hint=#26:Листинг текущей директории|
Left=20
Top=55
Width=490
Height=250
Align=0
Color=-16777211
Font=[MS Sans Serif,8,0,0,1]
ParentFont=0
Visible=0
Enabled=0
Cursor=0
KeyPreview=0
TabOrder=0
Ctl3D=0
WinStyle=0
Name=""
Hint=""
HintManager="(empty)"
Layout="(empty)"
WidthScale=0
HeightScale=0
ModeSp=0
SizeSp=4
ColorSp=-16777201
MinOwn=0
MinRest=0
FileName=""
Strings=#
AddType=0
ScrollBars=2
ReadOnly=1
AddHint(-9,55,165,13,@Hint)
}
Add(Hub,9887956,973,315)
{
InCount=1
OutCount=2
link(onEvent1,11419913:doClear,[(1005,321)(1005,384)])
link(onEvent2,9485196:doData,[(996,328)(996,352)(863,352)(863,377)])
}
Add(Hub,14367973,917,371)
{
InCount=1
OutCount=2
link(onEvent1,2084526:doSearch,[])
link(onEvent2,5073270:doText,[(945,384)(945,421)])
}
Add(Edit,5073270,958,415)
{
@Hint=#18:Текущая директория|
Left=65
Top=30
Width=445
Height=20
Align=0
Color=-16777211
Font=[MS Sans Serif,8,0,0,1]
ParentFont=0
Visible=0
Enabled=0
Cursor=0
KeyPreview=0
TabOrder=0
Ctl3D=0
WinStyle=0
Name=""
Hint=""
HintManager="(empty)"
Layout="(empty)"
WidthScale=0
HeightScale=0
ModeSp=0
SizeSp=4
ColorSp=-16777201
MinOwn=0
MinRest=0
Text=""
Alignment=0
DataType=0
Password=1
ReadOnly=1
MaxLenField=0
ClearAfterEnter=1
AddHint(-50,36,122,13,@Hint)
}
Add(Hub,6190417,693,196)
{
@Hint=#42:Здесь все "фокусы" с перекодировками и пр.|
InCount=1
OutCount=1
link(onEvent1,10422315:doValue,[])
AddHint(-11,-60,131,26,@Hint)
}
Add(InfoTip,12489525,854,112)
{
Info=#45:Отказывается переходить в указанную папку ftp|
Font=[MS Sans Serif,8,1,0,1]
Frame=0
Transparent=0
VAlign=0
HAlign=0
Width=113
Height=130
Margin=5
}


Знаю, что проблема частая. Форум просеял, гуглил - не помогает.
Nesco, это реально починить? Может есть секрет как поступать? Или ответ уже был на форуме лет дцать назад, но тема потёрта?
карма: 1

0
Редактировалось 1 раз(а), последний 2020-03-03 19:01:16