Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Upload e Lettura di File
venerdì 13 gennaio 2006 - 09.38
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
DemonDance
Profilo
| Newbie
14
messaggi | Data Invio:
ven 13 gen 2006 - 09:38
Ciao a tutti,
ho un db SQLServer nel quale faccio l'upload di un file come array di byte salvandolo in un campo image della tabella,
quando vado a rileggere il file.......1) mi da' svariati errori come se il file venisse salvato male 2) mi salva solo 8 k,
di seguito il codice per il salvataggio e la lettura,
Qualcuno sa dirmi como posso risolvere?
<b>'qui dichiaro l'array di byte e lo riempio con il file selezionato</b>
Dim b(Request.Files.Item(0).InputStream.Length) As Byte
For j As Integer = 0 To Request.Files.Item(0).InputStream.Length - 1
b(j) = Request.Files.Item(0).InputStream.ReadByte
Next
<b>'salvo l'array di byte sul mio dataset e poi lo mando alla classe interessate che si occupa dell'upload</b>
Dim drAll As DataRow
If dsAllegato.Tables(0).Rows.Count = 0 Then
drAll = dsAllegato.Tables(0).NewRow()
Else
drAll = dsAllegato.Tables(0).Rows(0)
End If
'inerisci evento passando un dataset
'Aggiorna la riga
With drAll
.Item("id_evento") = Session("nuovoevento") 'intId
.Item("allegato") = b
.Item("nome_allegato") = nomeFile
End With
If dsAllegato.Tables(0).Rows.Count = 0 Then
dsAllegato.Tables(0).Rows.Add(drAll)
End If
Dim Insallegato As cAllegato = New cAllegato
Dim intAll As Integer = Insallegato.addAllegato(dsAllegato)
Insallegato.Dispose()
'qui leggo
If Not IsNothing(dsAllegato) Then
If dsAllegato.Tables(0).Rows.Count > 0 Then
Response.AddHeader("content-disposition", "attachment;filename=" & dsAllegato.Tables(0).Rows(0).Item("nome_allegato"))
For Each r As DataRow In dsAllegato.Tables(0).Rows
Dim b() As Byte = r.Item("allegato")
Response.OutputStream.Write(b, 0, b.Length)
Next
End If
End If
Grazie in anticipo a tutti quanti,
DemonDance
Profilo
| Newbie
14
messaggi | Data Invio:
ven 13 gen 2006 - 12:18
Ciao Guru,
grazie anzitutto per la risposta,
ho porvato a fare esattamente come riportato negli esempi e ad3esso il salvataggio funziona correttamente ma se provo ad aprire il file salvato mi dice sempre che potrebbe essere danneggiato,
sai il perchè di questo?
Calcola che ho provato con vari file in vari formati.........
DemonDance
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 13 gen 2006 - 12:23
>Ciao Guru,
>grazie anzitutto per la risposta,
>ho porvato a fare esattamente come riportato negli esempi e ad3esso
>il salvataggio funziona correttamente ma se provo ad aprire
>sai il perchè di questo?
Il problema probabilmente non è il formato del file ma il fatto che non viene uploadato completamente o scaricato completamente il file. Ossia su un file di 100.000 byte evidentemente la tua procedura ne carica solo 99.950. Che succede che quando lo rileggi e lo riscrivi su disco, e poi lo apri, il programma che lo legge noterà che non è completo e quindi ti segnalerà che probabilmente è danneggiato.
Verifica le tue procedure di upload/download (passami i termini) dal DB.
ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !