04. december 2008 - 14:09Der er
10 kommentarer og 1 løsning
Læg _1 til filnavnet, når der uploades filer med samme navn ?
Er igang med at lave et galleri i ASP.NET hvor jeg vil have lagt _1 + til i enden, af en fil der uploads med samme navn fks. nicebil.jpg > nicebil_1.jpg > nicebil_2.jpg ?
Min upload funktion ser pt. sådan her ud:
Function UploadFil(ByVal fileUpload1 As System.Web.HttpPostedFile, ByVal OutputPath As String) As Boolean
Dim strFileName As String Dim strLongFilePath As String
AI kræver lokal regnekraft. For Robert Luciani giver HP Z6 G5 A, - drevet af NVIDIA AI – både ekstrem ydelse, kreativ frihed og stabil drift i en støjsvag pakke.
Kanon kalp ;D men glemte at skrive, jeg koder i VB og ikke C# og at det skal bruges på en hjemmeside, så forstår ikke lige helt det med "consol app" og hvordan jeg skal relatere det til det jeg har i forvejen, hvor jeg bruger OutputPath og fileUpload1 til at lave stien til filen og output'et ?
Vi være rart hvis du lige ville forklare det for mig kalp :)
test det af.. der er ikke så meget og sige. I min kode er dette den vigtige for dig. fileToCopy.CopyTo(dir + tmpfile)
som svarer til din
fileUpload1.SaveAs(OutputPath & strFileName)
Imports System.IO
Partial Class _Default Inherits System.Web.UI.Page Public Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim fileToCopy As New FileInfo("C:\xxxx\test.xml") Dim dir As String = "C:\xxxx\" If File.Exists(fileToCopy.FullName) Then Dim filename As String = Path.GetFileNameWithoutExtension(fileToCopy.FullName) Dim counter As Integer = 0 Dim tmpfile As String = String.Empty While (True) counter += 1 tmpfile = filename + "_" + counter.ToString() + Path.GetExtension(fileToCopy.FullName) If File.Exists(dir + tmpfile) = False Then Exit While End If End While fileToCopy.CopyTo(dir + tmpfile) End If End Sub End Class
Mange tak ;D nu virker det! har lavet det sådan her
If Not (fileUpload1 Is Nothing) Then If File.Exists(fileUpload1.FileName) Then Dim filename As String = Path.GetFileNameWithoutExtension(fileUpload1.FileName) Dim counter As Integer = 0 Dim strFileName As String = String.Empty
While (True)
counter += 1 strFileName = filename & "_" & counter.ToString() + Path.GetExtension(fileUpload1.FileName) If File.Exists(OutputPath & strFileName) = False Then Exit While End If
For at give mig point skal du markere mit navn i boksen nede i venstre hjørne:) Mit navn står i en boks som du kan trykke på. Efterfølgende trykker du bare på knappen "Accepter svar":)
I øvrigt kan jeg ikke se hele din kode.. Det ser i hvertfald ikke sådan ud. (programmere ikke VB.NET).
men jeg vil mene at din function ender med noget lignende: Public Function metodenavn() As Boolean
string fnm = @"C:\z.cs"; string first = Path.Combine(Path.GetDirectoryName(fnm), Path.GetFileNameWithoutExtension(fnm)); string last = Path.GetExtension(fnm); string tmpfnm = fnm; int n = 0; while (File.Exists(tmpfnm)) { n++; tmpfnm = first + "_" + n + last; } Console.WriteLine(tmpfnm);
og
Dim fnm As String = "C:\z.cs" Dim first As String = Path.Combine(Path.GetDirectoryName(fnm), Path.GetFileNameWithoutExtension(fnm)) Dim last As String = Path.GetExtension(fnm) Dim tmpfnm As String = fnm Dim n As Integer = 0 While File.Exists(tmpfnm) n += 1 tmpfnm = first & "_" & n & last End While Console.WriteLine(tmpfnm)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.