Ricerca 
it-ITen-US
Registrazione
Accedi
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Stampa     


DotNetWork Forums
caricare immagini dal DB in un form
Ultimo Post 02 nov 2009 21.17 by jzgrafica. 18 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Autore Messaggi

Posts:129

--
27 set 2009 11.18  
Come richiesto ecco un nuovo thread....allora, nel thread precedente avete le tabelle e tutto il resto ... ho una pagina sulla quale voglio visualizzare le foto che il mio cliente ha inserito :


Software Grafica Photoshop

.Questo è il codice HTML della pagina,così trovate i nomi dei controlli che ho usato  (scusate se non l'ho messo tra i tag
 ma facendolo me lo dava bianco in anteprima:<br><br><br> <b><asp:listbox id="LB_VediFoto" runat="server" datasourceid="DB_VediFoto" datatextfield="modello" datavaluefield="modello"></asp:listbox><br>        <asp:sqldatasource id="DB_VediFoto" runat="server" connectionstring="<%$ ConnectionStrings:ioscautoConnectionString %>" selectcommand="SELECT [modello] FROM [TabCaratteristiche] ORDER BY [modello]"><br>        </asp:sqldatasource><br>        <br><br>        <br><br>        <asp:button id="B_Guarda" runat="server" text="Guarda"><br>        <br><br>        <br></b><img unselectable="on" src="../../../../../../../desktopmodules/activeforums/activeeditor/officexp/mode.design.gif" align="absmiddle" height="20" width="21"><br><b>        <asp:image id="IMG_Vedi" runat="server" height="298px" width="593px"></b><br> <b>       <br><br>    <br>    </asp:image></asp:button></b><br><br>questo invece è il codice che mi interessa , il vb:<br><br><br>

<code>
Imports System
Imports System.Collections
Imports System.Configuration
Imports System.Data
Imports System.Linq
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.HtmlControls
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Xml.Linq
Imports System.Data.SqlClient
Imports System.Web.HttpFileCollection
Imports VediFoto
Imports ASP.vedifoto_aspx


Partial Class VediFoto
    Inherits System.Web.UI.Page
    'Private mssqlSELECT As String = "SELECT foto FROM TabCaratteristiche WHERE modello=@modello and foto=@foto"
    Protected Sub B_Guarda_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles B_Guarda.Click
        Dim mssqlSELECT As String = "SELECT foto FROM TabCaratteristiche WHERE modello=@modello and foto=@foto"
        Dim HP As String
        HP = "Default.aspx"

        Dim parap As SqlParameter() = _
New SqlParameter() { _
  New SqlParameter("@modello", LB_VediFoto.Text), _
  New SqlParameter("@foto", SqlDbType.BigInt)}

        Dim cnn As New SqlConnection
        cnn.ConnectionString = "Data Source=JZONTINI;Initial Catalog=ioscauto;Integrated Security=True"
        Dim cmd As New SqlCommand
        cmd.Connection = cnn
        cnn.Open()
        cmd.CommandText = mssqlSELECT
        cmd.Parameters.AddRange(parap)
        Dim Foto2 As String
        'Foto2 = ???

        '/***********************************************************************************************/
        '/* Foto2 è il nome della mia foto, cioè la stringa che ho salvato nel DB                       */
        '/* eppure, mi da sempre errore:                                                                */
        '/* utilizzando Foto2=mssqlSELECT                                                               */
        '/* utilizzando Foto2=cmd.Parameters.Item("@Foto").Tostring                                     */
        '/* a dire il vero, non è un errore vero e proprio, semplicemente non mi fa                     */
        '/* vedere la foto scelta, ma l'iconcina immagine; cliccando con il destro e poi Proprietà      */
        '/* vedo che ha preso come stringa non il nome del file ma l'istruzione sql oppure il @foto ... */
        '/***********************************************************************************************/
        IMG_Vedi.ImageUrl = Server.MapPath(".\") & Foto2

        cnn.Close()
    End Sub
End Class


Posts:129

--
27 set 2009 11.31  

Come richiesto ecco un nuovo thread....allora, nel thread precedente avete le tabelle e tutto il resto ... ho una pagina sulla quale voglio visualizzare le foto che il mio cliente ha inserito :


Software Grafica Photoshop

.Questo è il codice HTML della pagina,così trovate i nomi dei controlli che ho usato  (scusate se non l'ho messo tra
i tag
 ma facendolo me lo visualizzava bianco XD:<br><br><code><b>    <form id="form1" runat="server"><br>    <div><br>    <br>        <asp:ListBox ID="LB_VediFoto" runat="server" DataSourceID="DB_VediFoto" &lt;br>            DataTextField="modello" DataValueField="modello"></asp:ListBox><br>        <asp:SqlDataSource ID="DB_VediFoto" runat="server" &lt;br>            ConnectionString="<%$ ConnectionStrings:ioscautoConnectionString %>" <br>            SelectCommand="SELECT [modello] FROM [TabCaratteristiche] ORDER BY [modello]"><br>        </asp:SqlDataSource><br>        <br /><br>        <br /><br>        <asp:Button ID="B_Guarda" runat="server" Text="Guarda" /><br>        <br /><br>        <br /><br>        <asp:Image ID="IMG_Vedi" runat="server" Height="298px" Width="593px" /><br>        <br /><br>    <br>    </div><br>   <br></b>

Questo
invece è il codice VB .. all'interno del codice, commentato tra /****/ , trovate il mio problema...sono sicura che mi manca pochissimo per risolverlo ma non ne vengo proprio fuori ... se qualcuno mi può aiutare...


Imports System
Imports System.Collections
Imports System.Configuration
Imports System.Data
Imports System.Linq
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.HtmlControls
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Xml.Linq
Imports System.Data.SqlClient
Imports System.Web.HttpFileCollection
Imports VediFoto
Imports ASP.vedifoto_aspx


Partial Class VediFoto
    Inherits System.Web.UI.Page

    Protected Sub B_Guarda_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles B_Guarda.Click
        Dim mssqlSELECT As String = "SELECT foto FROM TabCaratteristiche WHERE modello=@modello and foto=@foto"
        Dim HP As String
        HP = "Default.aspx"

        Dim parap As SqlParameter() = _
New SqlParameter() { _
  New SqlParameter("@modello", LB_VediFoto.Text), _
  New SqlParameter("@foto", SqlDbType.BigInt)}

        Dim cnn As New SqlConnection
        cnn.ConnectionString = "Data Source=JZONTINI;Initial Catalog=ioscauto;Integrated Security=True"
        Dim cmd As New SqlCommand
        cmd.Connection = cnn
        cnn.Open()
        cmd.CommandText = mssqlSELECT
        cmd.Parameters.AddRange(parap)
        Dim Foto2 As String
        'Foto2 = ???

        '/***********************************************************************************************/
        '/* Foto2 è il nome della mia foto, cioè la stringa che ho salvato nel DB                       */
        '/* eppure, mi da sempre errore:                                                                */
        '/* utilizzando Foto2=mssqlSELECT                                                               */
        '/* utilizzando Foto2=cmd.Parameters.Item("@Foto").Tostring                                     */
        '/* a dire il vero, non è un errore vero e proprio, semplicemente non mi fa                     */
        '/* vedere la foto scelta, ma l'iconcina immagine; cliccando con il destro e poi Proprietà      */
        '/* vedo che ha preso come stringa non il nome del file ma l'istruzione sql oppure il @foto ... */
        '/***********************************************************************************************/
        IMG_Vedi.ImageUrl = Server.MapPath(".\") & Foto2

        cnn.Close()
    End Sub
End Class


Posts:14

--
29 set 2009 18.06  
Ho appena fatto un progetto con una situazione simile...

Devi prima creare il file dall'array di byte (che arriva direttamente dal db) e solo allora lo richiami con il mappath.

Io per recuperare l'immagine (come file) ho usato questa function:

Friend Function GetFileFromByte(ByVal source() As Byte) As String
Try
If source Is Nothing Or source.Length <= 0 Then Return Nothing
Dim _fs As FileStream ' FileStream
Dim _tfn As String ' Nome file creato dal sistema
_tfn = My.Computer.FileSystem.GetTempFileName
_fs = New FileStream(_tfn, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None)
_fs.Write(source, 0, source.Length)
_fs.Flush()
_fs.Close()
Return _tfn
Catch ex As Exception
ErrorsManager(ex, "ERROR!", MessageBoxIcon.Error, MessageBoxButtons.OK)
End Try
Return Nothing
End Function


Il valore restituito è il nome del file generato.

Posts:129

--
01 ott 2009 16.23  
Inserito da Roberto Pajalunga su 29 set 2009 19.06
Ho appena fatto un progetto con una situazione simile...

Devi prima creare il file dall'array di byte (che arriva direttamente dal db) e solo allora lo richiami con il mappath.


Come faccio a fare questa cosa ?

Posts:129

--
01 ott 2009 16.37  
altra domanda scusami quando richiami la funzione che tu mi hai mostrato, cosa gli passo come valore ? vuole un valore in byte ... ..io non so cosa passargli, nel mio caso..

Posts:129

--
03 ott 2009 13.39  
help ?

Posts:657

--
04 ott 2009 11.05  
Per prima cosa controlla in debug valore di
IMG_Vedi.ImageUrl
copialo come url nel browser e se non ottieni l'immagine vuol dire che stai sbagliando il percorso o che non c'è l'immagine sul server.

Per quanto riguarda l'esempio di Roberto, ti può essere utile solo se invece di salvare l'immagine sul disco, la salvi nel database come campo di tipo: Array di bytes.
Rudy Azzan

Posts:129

--
05 ott 2009 16.56  
ho controllato e mi dail 404 ...il problema è che non trovo l'errore....cmq,se dai un occhio al vecchio thread dal quale mi sono spostata trovi il codice che avevo creato per salvare l'immagine nel DB come stringa del nome...e nel pc come stringa del percorso immagine...il problema è che ora non so se devo recuperarla dal percorso o dalla stringa .. ç__ç anche perchè, se la recupero dal percorso potrebbe non funzionare + se metto le pagine on-line ...

Posts:657

--
06 ott 2009 09.04  

404 vuol dire che non trova il file sul server.

Infatti se tu ti fermati in debug su IMG_Vedi.ImageUrl come ti ho scritto, vedrai che ti sta dando un percosrso server in una locazione client.. cosa vuol dire?:

Vuol dire che se vedi l'html dal tuo browsers sul client e cerchi il tag img che hai creato dal server vedrai una cosa simile

img id="immagine" src="C:\Esempi\WebProva\testing.jpg"

Nota: "C:\Esempi\WebProva\testing.jpg" è un percorso fisico sul computer client dove si trova il browser, quindi cono ha niente a che fare col tuo server e non potri mai trovare l'immagine.

Per indicare al browser la locazione server dell'immagine devi scrivere nel seguente modo:

IMG_Vedi.ImageUrl = "http://nomehost/WebProva/" & Foto2;

Oppure in forma abbreviata:

IMG_Vedi.ImageUrl = "~/"  & Foto2;

Quindi sul tuo database è bene che non ti salvi il percosro intero del file, ma quello relativo Es.:

Nome host="Mario"
Locazione fisica: C:\Inetpub\wwwroot
Locazione virtuale URL: http://Mario

Nome sito="WebProva"
Locazione fisica: C:\Inetpub\wwwroot\WebProva
Locazione virtuale URL: http://Mario/WebProva

Cartella immagini="Immagini"
Locazione fisica: C:\Inetpub\wwwroot\WebProva\Immagini
Locazione virtuale URL: http://Mario/WebProva/Immagini

Percorso immagine Es.: "MiaFoto1" salvata in campo Foto2 sul db = "Immagini/MiaFoto1.jpg";
Percorso immagine Es.: "MiaFoto2" salvata in campo Foto2 sul db = "Immagini/MiaFoto2.jpg";
Percorso immagine Es.: "MiaFoto3" salvata in campo Foto2 sul db = "Immagini/MiaFoto3.jpg";

Ora se scrivi:
IMG_Vedi.ImageUrl = "~/"  & Foto2;

,vedrai la tua immagine e la vedrai anche se metti le pagine online.
Spero che ti sia tutto chiaro, altrimenti siamo qui!

Rudy Azzan

Posts:129

--
15 ott 2009 17.31  
tutto come prima, non vedo la mia immagine.....

Posts:129

--
15 ott 2009 17.33  
scusa, per sbaglio ho tagliato mezza risposta -.-'


Quindi sul tuo database è bene che non ti salvi il percosro intero del file, ma quello relativo Es.: Nome host="Mario" Locazione fisica: C:\Inetpub\wwwroot Locazione virtuale URL: http://Mario Nome sito="WebProva" Locazione fisica: C:\Inetpub\wwwroot\WebProva Locazione virtuale URL: http://Mario/WebProva Cartella immagini="Immagini" Locazione fisica: C:\Inetpub\wwwroot\WebProva\Immagini Locazione virtuale URL: http://Mario/WebProva/Immagini Percorso immagine Es.: "MiaFoto1" salvata in campo Foto2 sul db = "Immagini/MiaFoto1.jpg"; Percorso immagine Es.: "MiaFoto2" salvata in campo Foto2 sul db = "Immagini/MiaFoto2.jpg"; Percorso immagine Es.: "MiaFoto3" salvata in campo Foto2 sul db = "Immagini/MiaFoto3.jpg"; Ora se scrivi: IMG_Vedi.ImageUrl = "~/" & Foto2; ,vedrai la tua immagine e la vedrai anche se metti le pagine online. Spero che ti sia tutto chiaro, altrimenti siamo qui!
ehm, non ho capito una mazza.......ho provato solo a cambiare la parte di codice per puntare all'imagine ( IMG_Vedi.ImageUrl = "~/" & Foto2) ma non funziona, per il semplice fatto che, basandosi sul codice di salvataggio fatto in precedenza, Foto2 come stringa pretende altri dati che non so come dargli.....insomma,tutto come prima -.-'

Posts:657

--
16 ott 2009 09.15  
Meglio di così non saperi come spiegarti le cose... Che problemi hai esattamente con Foto2?
Rudy Azzan

Posts:129

--
16 ott 2009 09.17  
se guardi il codice che avevo postato nell'altro thread, vedi che Foto2 dipende da altre stringhe.........che dipendono da una stringa che onn posso inserire in questo form.. ç__ç

Posts:657

--
16 ott 2009 09.22  
Ri-posta il codice in questo thread allora.. Così riordiniamo il discorso.
Rudy Azzan

Posts:129

--
16 ott 2009 19.11  
Inserito da jzgrafica su 22 set 2009 20.06
ora rifaccio altrimenti impazzisco...allora, nella pagina dove il cliente inserisce le auto, può inesrire anche le foto ( così poi i suoi clienti potranno vederle, per questo voglio che siano visualizzabili ) ...

il codice per salvare le foto in un determinato percorso è il seguente:




 If Not FU_foto.HasFile = False Then

Dim filepath As String = FU_foto.PostedFile.FileName
Dim pat As String = "\\(?:.+)\\(.+)\.(.+)"
Dim r As Regex = New Regex(pat)
'run
Dim m As Match = r.Match(filepath)
Dim file_ext As String = m.Groups(2).Captures(0).ToString()
Dim filename As String = m.Groups(1).Captures(0).ToString()
Dim filefoto As String = filename & "." & file_ext

'save the file to the server
FU_foto.PostedFile.SaveAs(Server.MapPath(".\") & filefoto)
lblstatus.Text = "File Saved to: " & Server.MapPath(".\") & filefoto


E non comprendo questa regexp... ero abituata a php e con php si usano regexp comuni per altre cose..


Comunque, li c'è il codice per salvare le foto in un percorso e , poi, nell'istruzione sql, la foto viene salvata con il proprio nome  quindi non con il percorso ) ...

Io devo creare una pagina nella quale il cliente del mio cliente selezionerà l'auto da una DDL, cliccherà su un pulsante vedi foto e visualizzerà la foto in questione ( quindi la foto dell'auto che ha selezionato ) ..

per ora lo faccio in una pagina separata dal resto, poi quando avrò capito come si fa il pulsante "vedi foto" comparirà a fianco di ogni auto inserita dal mio cliente ( in una pagina dove verranno visualizzate tutte le sue auto, sempre con selezione DDL da parte dei suoi clienti )

IO STO DIVENTANDO SCEMA -.-'



Posts:129

--
16 ott 2009 19.11  
E non comprendo questa regexp... ero abituata a php e con php si usano regexp comuni per altre cose..


per questa frase lascia stare, me l'hanno spiegata nel vecchio thread

Posts:657

--
17 ott 2009 13.15  
Il codice che hai postato, serve per salvare sul server un file caricato da un client, e tu lo stai salvando sulla root del sito. Quindi se usi
IMG_Vedi.ImageUrl = "~/" & Foto2
e se Foto2 che estrai dal DB è uguale a "filefoto" (del codice che hai postato), funziona tutto.

Quindi Foto2 nel tuo database deve essere uguale a filefoto. Ok???
Rudy Azzan

Posts:129

--
17 ott 2009 13.39  
si foto2 è uguale a filefoto, però il rpoblema è proprio nello scrivere il codice, perchè l'immagine viene visualizzata in un form diverso da quello dove viene inserita ... ç_ç non so come spiegarmi

Posts:129

--
02 nov 2009 21.17  
Allora quasi risolto, solo che ora riesco a caricare solo due immagini nel forum,e sul sito locale mi visualizza sempre e solo i nomi del file che ho salvato..

quindi,forse non ho risolto per nulla però almeno ora riesco a salvare due " nomi di file " anzichè uno solo
Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli
Copiare dati fra Database con ADO.Net
Da Qui a Li e da Li a Qui usando OleDb e Access
2009/02/14 | Autore: Sabrina Cosolo
Codedom Introduzione all'uso parte 1
Generare automaticamente codice C# o VB usando CodeDom ed il framework .NET stesso
2009/11/07 | Autore: Sabrina Cosolo
Fritto misto - Classi di uso comune (parte 1)
Helper: Una classe per operare sulle stringhe
2007/10/20 | Autore: Sabrina Cosolo
Formattare le Datagridview
Come modificare il comportamento visuale di una Datagridview
2008/07/27 | Autore: Andrea Zingoni
Programmer Paster Addin per Expression Web 1 e 2
Implementare un Addin per Expression Web 1 e 2 che usa la libreria ProgrammerPaster
2009/02/26 | Autore: Rudy Azzan
Panoramica degli elementi base del WPF
Come iniziare a capire com'è fatto il WPF [Windows Presentation Foundation] (parte 2)
2007/07/30 | Autore: Patrizia Cosolo
ADO.Net Nozioni di base (parte 1)
Una libreria helper base per usare comandi diretti in SQL Server
2008/03/09 | Autore: Sabrina Cosolo
Introduzione a Windows Presentation Foundation (parte 2)
La prima di una serie di traduzioni da articoli di MSDN o altre fonti che offrono un punto di partenza per iniziare a capire il WPF.
2007/07/29 | Autore: Patrizia Cosolo
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2012 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.