Ugyldige tegn i stien / Illegal characters in path
Heyhey,Jeg sidder og bakser med at sende en fil fra en windows form til en aspx-side, og jeg løber ind i problemer når der er specialkarakterer i filnavnet. Fejlen kommer i dokumentet, der tager imod filen, og undtagelsen lyder:
System.ArgumentException: Ugyldige tegn i stien.
Staksporing:
[ArgumentException: Ugyldige tegn i stien.] System.Security.Permissions.FileIOPermission.HasIllegalCharacters(String[] str) +276 System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList) +88 System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, String[] pathList, Boolean checkForDuplicates, Boolean needFullPath) +43 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy) +421 System.IO.FileStream..ctor(String path, FileMode mode) +52 System.Web.HttpPostedFile.SaveAs(String filename) +48 MedjetiTester.handle_upload.HandleUpload() in d:\dokumenter\.net\medjetitester\webrod\handle_upload.aspx.cs:77 MedjetiTester.handle_upload.Page_Load(Object sender, EventArgs e) in d:\dokumenter\.net\medjetitester\webrod\handle_upload.aspx.cs:43 System.Web.UI.Control.OnLoad(EventArgs e) +67 System.Web.UI.Control.LoadRecursive() +35 System.Web.UI.Page.ProcessRequestMain() +750
Hvis jeg bruger en almindelig <input type="file"> til at uploade med, kan jeg gemme filen uden problemer, så sagens kerne må ligge i min afsendelse af filen.
Jeg sender filen vha. en klasse, jeg har fundet her: http://dotnetjunkies.com/WebLog/jdixon/archive/2004/10/25/29685.aspx - og det fungerer altså upåklageligt så længe filen ikke indeholder specialkarakterer...
Jeg har lagt mærke til linien:
byte[] PostData = System.Text.Encoding.ASCII.GetBytes(Data);
- hvor filen bliver lagt i et ASCII-encoded byte-array, og tænkte at det kunne være synderen. Jeg har prøvet at ændre Encoding'en til fx UTF-8, men så passer Content-Length'en ikke længere og IIS returnerer en fejl.
Nogen der har været ude for noget lignenede og/eller har en idé til hvad jeg kan prøve?
På forhånd tak!