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 SALVATAGGIO IMMAGINI IN UN DB ACCESS
venerdì 17 settembre 2004 - 10.57
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
boccia
Profilo
| Newbie
4
messaggi | Data Invio:
ven 17 set 2004 - 10:57
HO BISOGNO DELLO SCRIPT CHE MI FA SALVARE
UN'IMMAGINE IN UNA TABELLA DI UN DB DI ACCESS.
GRAZIE IN ANTICIPO
lorecosta
Profilo
| Junior Member
61
messaggi | Data Invio:
ven 17 set 2004 - 11:12
Ciao,
lo script che fa quello di cui hai bisogno lo ho allegato al messaggio, ma in generale ti dico che io preferisco non inserire direttamente le immagini all'interno del db, ma piuttosto scrivere in un campo il percorso in cui ho salvato l'immagine, per poterla poi richiamare al momento di doverla mostrare.
Ciao
boccia
Profilo
| Newbie
4
messaggi | Data Invio:
ven 17 set 2004 - 11:32
dove hai messo l'allegato?
lorecosta
Profilo
| Junior Member
61
messaggi | Data Invio:
ven 17 set 2004 - 11:39
Ciao,
lo script che fa quello di cui hai bisogno lo ho allegato al messaggio, ma in generale ti dico che io preferisco non inserire direttamente le immagini all'interno del db, ma piuttosto scrivere in un campo il percorso in cui ho salvato l'immagine, per poterla poi richiamare al momento di doverla mostrare.
Ciao
lorecosta
Profilo
| Junior Member
61
messaggi | Data Invio:
ven 17 set 2004 - 11:42
Scusa, forse è meglio se ti incollo il codice qui sotto.
<%@ Page Language="c#" %>
<%@ import Namespace="System" %>
<%@ import Namespace="System.IO" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<SCRIPT runat="server">
void BtnUp_Click(Object s, EventArgs e) {
int dimensione=inputFile.PostedFile.ContentLength;
if (dimensione>0) {
string db, strsql;
Byte[] FileByteArray= new Byte[dimensione];
Stream StreamObject=inputFile.PostedFile.InputStream;
StreamObject.Read(FileByteArray, 0, dimensione);
db="immagini.mdb";
OleDbConnection myconnection=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Request.MapPath(db));
strsql="insert into Tabella1(descrizione, immagine, nome, size2, contenttype) values(?, ?, ?, ?, ?)";
OleDbCommand mycommand = new OleDbCommand(strsql, myconnection);
mycommand.Parameters.Add("@descrizione", OleDbType.VarChar, 100).Value=descrizione.Text;
mycommand.Parameters.Add("@immagine", OleDbType.Binary, dimensione).Value=FileByteArray;
mycommand.Parameters.Add("@nome", OleDbType.VarChar, 100).Value=Path.GetFileName(inputFile.PostedFile.FileName);
mycommand.Parameters.Add("@size2", OleDbType.Integer, 100).Value=dimensione;
mycommand.Parameters.Add("@contenttype", OleDbType.VarChar, 100).Value=inputFile.PostedFile.ContentType;
myconnection.Open();
mycommand.ExecuteNonQuery();
myconnection.Close();
messaggio.Text="OK!";
}
else
{
messaggio.Text="Nessun file selezionato!";
}
}
</SCRIPT>
<form enctype="multipart/form-data" runat="server">
<strong>UTILIY PER L'UPLOAD DI IMMAGINI IN UN DATABASE IN FORMATO ACCESS</strong>
<div id="Results" align="center" runat="server" />
<p align="center">
Seleziona un'immagine sul tuo HD quindi clicca su upload:<br />
<input id="inputFile" type="file" size="40" runat="server" /><br />
Descrizione: <asp:TextBox id="descrizione" runat="server" Width="259px"></asp:TextBox>
<br /><asp:label id="messaggio" runat="server" Font-Bold="True"></asp:label>
</p>
<input id="BtnUp"value="Upload!" runat="server" onserverclick="BtnUp_Click" />
</form>
ciao
boccia
Profilo
| Newbie
4
messaggi | Data Invio:
ven 17 set 2004 - 11:43
e se invece voglio salvare sul db solo il nome del file
ricavandolo dal percorso?
lorecosta
Profilo
| Junior Member
61
messaggi | Data Invio:
ven 17 set 2004 - 12:03
in questo caso lo script è il seguente. questa volta il codice è in VB.
Il percorso in cui hai salvato il file è SFullPath, questo lo puoi salvare su un db tramite una semplice query di insert in sql.
Ricordati che per salvare un file in una cartella da web l'utente asp.net deve avere l'autorizzazione in scrittura in quella cartella.
boccia
Profilo
| Newbie
4
messaggi | Data Invio:
ven 17 set 2004 - 12:46
ti invio il mio file addfile.aspx
dovresti collegare strNomeFile alla tabella tbl_prod_foto del database foto.mdb
e poi potresti far si che cliccando sul tasto upolad la strNomeFile venga salvata
sul campo IDFoto della tabella tbl_prod_foto del database foto.mdb
grazie mille
lorecosta
Profilo
| Junior Member
61
messaggi | Data Invio:
ven 17 set 2004 - 17:06
il file non è allegato al messaggio.
comunque lo script di prima fa in modo che tu possa ottenere il percorso di un file dopo il suo upload, con questo pezzo di codice, invece scrivi sulla tabella di access.
' Dichiarazioni spazio dei nomi
imports System.data.Oledb.OleDbConnection
imports System.data.Oledb.OleDbCommand
'****************************************************************
Dim myConnection As OleDbConnection
Dim myOleCommand As OleDbCommand
myConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mdb\foto.mdb")
myOleCommand = New OleDbCommand("INSERT INTO tbl_prod_foto(IDFile) Values (strNomeFile)", myConnection)
Try
myConnection.Open()
myOleCommand.ExecuteNonQuery()
Catch myException As Exception
lblerrore.text=myException.tostring()
Finally
myConnection.Close()
End Try
In questo script mi sono attenuto alle tue indicazioni, poi naturalmente il tutto va riadattato al contesto in cui ti trovi.
Ciao
Devil
Profilo
| Junior Member
109
messaggi | Data Invio:
mer 2 lug 2008 - 17:26
Ciao ragazzi,
io avrei il problema inverso: ho delle immagini memorizzate in una tabella di access e vorrei estrarle.
Sapete indicarmi come fare?
Grazie Ciao
Devil
Profilo
| Junior Member
109
messaggi | Data Invio:
gio 3 lug 2008 - 13:27
Già fatto,..ho anche implementato l'esempio della microsoft sia in access97 che in access2003..stesso risultato...da quello che leggo in giro pare che nel file vengano salvati anche i metadati che access usa per i suoi scopi e pare siano sia in testa che in coda al file..ma come li individuo e li elimino?
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 !