Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Proper format to read FTP directory
Message
From
09/05/2012 13:12:31
 
 
To
All
General information
Forum:
ASP.NET
Category:
Other
Title:
Proper format to read FTP directory
Environment versions
Environment:
VB 9.0
OS:
Windows 7
Network:
Windows 2003 Server
Database:
MS SQL Server
Application:
Web
Miscellaneous
Thread ID:
01543372
Message ID:
01543372
Views:
102
In my FTP class, I have two formats to read FTP directory content. Here are the two scenarios:
                    ' This is the standard
                    ' total 4696
                    ' drw-rw-rw-   1 user     group           0 Feb  6 15:46 .
                    ' drw-rw-rw-   1 user     group           0 Feb  6 15:46 ..
                    ' -rw-rw-rw-   1 user     group        4825 May  3  2010 Account.png
                    ' -rw-rw-rw-   1 user     group        5242 May  3  2010 Administration.png
                    ' -rw-rw-rw-   1 user     group        4117 Apr 17  2011 Agent.png
                    ' -rw-rw-rw-   1 user     group        1402 Dec 30  2005 AmazonCA.gif
                    ' -rw-rw-r--   1 wliclus  weblogic   308121 Jun  1  2011 tlv_01_jackk_2011615315_1185655_001_23327701.zip

                    ' This is also another format we have to support
                    ' -r-xr-xr-x   1 owner    group        78145990 Nov  4  2011 101.zip
                    ' -r-xr-xr-x   1 owner    group           35492 Apr 14  2011 20110414.40E
                    ' -r-xr-xr-x   1 owner    group           33583 Apr 14  2011 20110414.421
                    ' -r-xr-xr-x   1 owner    group           40815 Apr 14  2011 20110414.483
                    ' -r-xr-xr-x   1 owner    group           24836 Apr 14  2011 20110414.ARC
                    ' -r-xr-xr-x   1 owner    group            4737 May  5  2011 4A16PBE1.txt
                    ' -r-xr-xr-x   1 owner    group            4737 Jan 18 13:50 4A17A7B1.txt
The first one is the one that is commonly used. On one specific server, I am receiving the directly listing in the second scenario.

So far, I have this code which parse the following component:
                    ' If this is a file
                    If lcLine.StartsWith("-") Then

                        ' Get the character at position 42
                        lcCharacter = Mid(lcLine, 42, 1)

                        ' If this is a space
                        If lcCharacter = " " Then
                            lcFile = Mid(lcLine, 56)
                            lnSize = Val(Mid(lcLine, 34, 8))
                            lcDate = Mid(lcLine, 43, 12)
                        Else
                            lcFile = Mid(lcLine, 60)
                            lnSize = Val(Mid(lcLine, 34, 14))
                            lcDate = Mid(lcLine, 47, 12)
                        End If
So, I need to know if taking the file size from character 34 will always be good. This assume scenario #1. It takes the next 8 digits. As the second scenario starts reading the file size from character 34 but takes the next 14 digits.

Scenario #1 would then allow to pick list file size up to 99,999,999 bytes, thus 99.999999 MB.

This is based on the assumption that the directly listing returned by FTP servers always include a space between each component. Can someone confirms me if this is correct?

Also, I would like to get the feedback on scenario #2 as to know if starting at character 34 would do as well or if that type of directly listing has been adjusted to support longer group which would then mean I would need to start reading the file size at character 38 instead of character 34 for this scenario.

Any feedback on this issue would be appreciated.
Michel Fournier
Level Extreme Inc.
Designer, architect, owner of the Level Extreme Platform
Subscribe to the site at https://www.levelextreme.com/Home/DataEntry?Activator=55&NoStore=303
Subscription benefits https://www.levelextreme.com/Home/ViewPage?Activator=7&ID=52
Next
Reply
Map
View

Click here to load this message in the networking platform