05. oktober 2004 - 11:39Der er
6 kommentarer og 1 løsning
Upload af filer - problem med filnavne
Hej eksperter
Jeg har en lille asp.net-side, hvor vi i min læsegruppe kan uploade filer, som vi dermed kan dele med hinanden. Det vi typisk uploader til siden er Word-dokumenter og Excel-regneark.
Når man uploader en fil, ændres navnet på filen ikke - dvs. filen gemmes på serveren med samme navn som på computeren hos den der uploader. Når en person uploader en fil med et navn der indeholder et special-tegn, fx. æ,ø og å, men også &, mellemrum, apostroffer osv. opstår problemet. Den bliver fint uploadet, men kan ikke hentes ned igen.
Indtil videre har jeg løst problemet ved at lave "replace" af forskellige tegn, således den fjerner mellemrum, ændrer æ til ae osv. før filen uploades.
Er der ikke en bedre løsning til dette - fx. HtmlEncode eller lignende? Håber spørgsmålet er forståeligt - ellers uddyber jeg gerne.
strFil = (strFil.SubString((strFil.LastIndexOf("\")),strFil.Length-strFil.LastIndexOf("\"))) strSti = (Server.MapPath("filer")) & strFil Try txtFil.PostedFile.SaveAs(strSti) lblInfo.Text = ("<font color='darkgreen'>Filen er uploadet!</font>") Catch ex as exception lblInfo.text += ("Filen kunne ikke uploades! " & ex.ToString) End Try End Function
Det navn filen gemmes under kan jo sådan set være hvad som helst. Det jeg gør i en nogenlunde lignende sammenhæng er at gemme det oprindelige navn i et felt i den tabel i en database, sammen med det unikke, lidt tilfældige navn, som filen ligger med på serveren.
Okay - jeg overvejer at gøre det samme - blot med en xml-fil i stedet for en database. Men jeg vil jo gerne have at filen får sit oprindelige navn tilbage når denne downloades igen... Hvordan sikrer jeg det?
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.