Hej Hur menar du? Talar vi om vilket filformat som helst? Skall den uploadade filen streamas till anvndarens webbläsare omedelbart efter det att den laddats upp, eller vid ett senare tilfälle? Om vid ett senare tillfälle var sparar du byte-arrayen? Gessle, Onkelborg,Fil problem
Jag försöker hantera lite filer, men det går sådär halvbra. Jag gör såhär för att låta användaren välja en fil med en HTMLinputFile och sen tar jag den filen och gör om den till byte[].
<code>
Stream myStream = File1.PostedFile.InputStream;
int myLen = File1.PostedFile.ContentLength;
byte[] myBytes = new byte[myLen];
myStream.Read(myBytes, 0, myLen);
</code>
sen gör jag såhär när jag vill att en fil ska skrivas ut.
<code>
Response.Clear();
Response.ContentType = getMimeType(FileEndName);
Response.OutputStream.Write(myBytes, 0, myBytes.Length);
Response.OutputStream.Close();
</code>
Problemet jag har är att efter någon gå när jag ibland försöker öppna en fil i min showdocument sida så kommer det upp en messagebox
The file referenced by the shortcut file 'c:\Documents and Settings\m\Lokla inställningar\Temporary Internet Files\Content.IE5\GXIROPIV\ShowDocument[5].aspx' cannot be opened.
Vad gör jag för fel. Kan jag göra på något annat sätt.
väldigt tacksam för hjälpSv: Fil problem
Sv: Fil problem
Menar du att du vill streama ner en fil (download) till besökaren? För i så fall använder du sig av något åt detta hållet istället för din kod.
string fname =
Server.MapPath("Hallå.mp3");
FileInfo f = new FileInfo(fname);
string fname = HttpUtility.UrlEncode(f.Name).Replace("+", " ");
Response.AddHeader("Content-Disposition", "attachment; filename=" + fname);
Response.AddHeader("Content-Length", f.Length.ToString());
Response.AddHeader("Content-Transfer-Encoding","binary");
Response.ContentType = "application/octet-stream";
Response.WriteFile(f.FullName);
<b>PS.</b> raden som använder <b>UrlEncode</b> är ett fult "hack" som ser till att svenska (non-latin) tecken blir korrekt när filen skickas till användaren. Detta är en temporär lösning medans jag försöker får den att använda rätt MIME encoding, vilket inte visat sig vara helt enkelt =) Nackdelen med denna metod är att eventuellt mellanslag ersätts med + som ser får ersättas med mellanslag igen. Har man få med ett + i urspungsnamnet kommer även detta att ersättas med ett mellanslag. Det är dock inte så vanligt att man har + i filnamn så det fungerar ofta utan problem.
//Andreas
Sv: Fil problem
Jo jag var faktiskt lite snabb där, då <b>URLEncode</b> encodar till unicode så + kommer att klara sig.
//Andreas