Originariamente inviato da fabio309
a suo tempo ho usato questa riga
codice:
nome_file=System.IO.Path.GetFileName(uplTheFile.ToString)
si, si, giustissimo!
però quando vedi che il framework cerca cosi il filename
codice:
Public Shared Function GetFileName(ByVal path As String) As String
If (Not path Is Nothing) Then
Path.CheckInvalidPathChars(path)
Dim num1 As Integer = path.Length
Dim num2 As Integer = num1
Do While (--num2 >= 0)
Dim ch1 As Char = path.Chars(num2)
If (((ch1 = Path.DirectorySeparatorChar) OrElse (ch1 = Path.AltDirectorySeparatorChar)) OrElse (ch1 = Path.VolumeSeparatorChar)) Then
Return path.Substring((num2 + 1), ((num1 - num2) - 1))
End If
Loop
End If
Return path
End Function
ti cadono le braccia (o anche qualcos'altro)
x farti vedere che non scrivo a vanvera prova questo codice:
codice:
<script runat=server>
Public Function GetFileName(ByVal path As String) As String
Dim _Array() As String
_Array = path.Split("\")
Return _Array(_Array.Length - 1)
End Function
Private Sub Page_Load()
Dim i = 0
Dim StartTime, EndTime As DateTime
Dim Tempo As TimeSpan
Dim MilliSecondi As Double
Dim _Path As String = "C:\Documents And Settings\My User\My Dir\Asp .net\file.aspx"
StartTime = Now
For i = 1 To 1000000
System.IO.Path.GetFileName(_Path)
Next
EndTime = Now
Tempo = EndTime.Subtract(StartTime)
MilliSecondi = Tempo.Ticks / 10000
Response.Write("Framework
Millesecondi: " & MilliSecondi & "
")
'per scrupolo tutto a nothing
StartTime = Nothing
EndTime = Nothing
MilliSecondi = Nothing
Tempo = Nothing
StartTime = Now
For i = 1 To 1000000
Me.GetFileName(_Path)
Next
EndTime = Now
Tempo = EndTime.Subtract(StartTime)
MilliSecondi = Tempo.Ticks / 10000
Response.Write("sms
Millesecondi: " & MilliSecondi & "
")
End Sub
</script>
un risultato
Framework
Millesecondi: 6171,875
sms
Millesecondi: 3515,625