Tjenare! Spara ner namn och contenttyp i databasen exempelvis som nedan. Tjenare, tack för svaren! Nu snackar vi ! Spara ner en hämtad blob, filnamn
Jag har en sida "filefilter.aspx" som hämtar en blob från databasen och visar i webläsaren.
När användaren vill spara ner filen får den automatiskt filnamn "filefilter.doc" eller "filefilter.aspx"
eller dylikt, jag vill ju att originalfilnamnet skall vara som default.
Någon som vet hur man styr upp det ?
Tittade lite på response.addheader men hittade inget som fungerade......Sv: Spara ner en hämtad blob, filnamn
<code>
' se till att åäö fungerar
Response.Charset = "iso-8859-1"
Response.ContentEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")
' bestäm filnamn till klienten för aktuell stream
Response.AddHeader("Content-Disposition", "attachment;filename=" & "filnamn.doc")
</code>Sv: Spara ner en hämtad blob, filnamn
<code>
Protected WithEvents Upload As System.Web.UI.HtmlControls.HtmlInputFile
...
...
Dim cmd As SqlCommand = New SqlCommand
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "spInsertFile"
cmd.Parameters.Add("@idEvent", lblID.Text)
cmd.Parameters.Add("@myBlob", blob)
cmd.Parameters.Add("@blobFileName", fixFileName(Upload.PostedFile.FileName))
cmd.Parameters.Add("@blobFileTyp", Upload.PostedFile.ContentType)
</code>
Och när du skriver tillbaks så skriv med samma contenttype som filen laddades upp med
Exempel:
<code>
Response.ContentType = aDs.Tables(0).Rows(0).Item(3).ToString
Response.AddHeader("Content-Disposition", "attachment; filename=""" & aDs.Tables(0).Rows(0).Item(2).ToString & """")
Response.BinaryWrite(CType(aDs.Tables(0).Rows(0).Item(1), Byte()))
</code>Sv:Spara ner en hämtad blob, filnamn
Dock blir ÅÄÖ till felaktiga tecken, även om jag har med encodingen som nedan. Använde denna kod:
<code>
Response.Charset = "ISO-8859-1"
Response.ContentEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")
Page.Response.ContentType = dr("LG_img_contenttype")
'Page.Response.AddHeader("Content-Disposition", "attachment;filename=" & dr("LG_img_name"))
Page.Response.AddHeader("Content-Disposition", "attachment;filename=åäö.doc")
Response.BinaryWrite(dr("LG_img_data"))
</code>
Har prövat olika encodings men utan skillnad. Googlat runt och allt verkar rätt, men fortfarande blir filnamnet knasigt, inte innehållet.
Nån som vet ?Sv: Spara ner en hämtad blob, filnamn
Tittade på en anna post i forumet, snodde lite kod - testade och detta verkar funka bra:
<code>
Dim fname As String = dr("LG_img_name")
Response.ContentEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")
Response.AddHeader("Content-Transfer-Encoding", "binary")
fname = HttpUtility.UrlEncode(fname).Replace("+", " ")
Response.Charset = "ISO-8859-1"
Page.Response.ContentType = dr("LG_img_contenttype")
Page.Response.AddHeader("Content-Disposition", "attachment;filename=" & fname)
Response.BinaryWrite(dr("LG_img_data"))
</code>
Tack för hjälpen !