Caricare immagine in un image control

lunedì 31 agosto 2009 - 18.35

padronfrodo88 Profilo | Junior Member

ciao ragazzi sto utilizzando l'image control per inserire un logo all'interno di un sito, ora quello che volgio fare è rendere dinamica questa cosa, cioè poter cambiare il logo in qualsiasi modo, quindi utilizio l'oggetto file uploader per caricare l'immagine e la copio nella mia directory poi utilizzo l'image control per visualizzare l'immagine ma non la vedo vin inserisco il codice:
string filename = System.IO.Path.GetFileName(FileUpload.PostedFile.FileName); FileUpload.PostedFile.SaveAs(Server.MapPath("/img/") + filename); lbl_info.Text = Server.MapPath("/img/") + filename; img_test.ImageUrl = Server.MapPath("/img/") + filename;
ho provato in tutti i modi anche quello di mettere i doppi slash... ma nulla... vedo il controllo senza l'immagine all'interno... come mai? grazie per l'aiuto.
L. Michele

Gluck74 Profilo | Guru

prova a vedere se il file esite, ovvero fai un fileExist prima di assegnarlo all'imageControl.
Magari verifica anche la grandezza del file. Il file è leggibile? ci sono i giusti permessi?

Inoltre in quale evento hai messo il codice? ci sono UpdatePanel?

padronfrodo88 Profilo | Junior Member

non ho specificato una cosa, il progetto lavora ancora in locale non ho caricato nulla sul server, poi non so se puo influire o meno alle spalle dell'image control c'è un div con immagine di background.

>prova a vedere se il file esite, ovvero fai un fileExist prima di assegnarlo all'imageControl.
il file esiste infatti ho provato proprio a mettere il percorso fisico c:/ ecc.
>Magari verifica anche la grandezza del file. Il file è leggibile?
>ci sono i giusti permessi?
si il file è leggile, ho tutti i permessi

>Inoltre in quale evento hai messo il codice? ci sono UpdatePanel?
il codice che ho postato è all'interno di un button che usa il controllo updatepanel

spero di essere stato chiaro questa volta.
L. Michele

Gluck74 Profilo | Guru

se c'è di mezzo un UpdatePanel, probabilmente c'è un problema di refresh.
il bottone, l'immagine, l'uploader sono tutti nel UpdatePanel?
Prima carichi il file e poi premi un bottone per vedere l'immagine? o le azioni avvengono in maniera diversa?

Vorrei capire come hai messo i controlli rispetto all'UpdatePanel

padronfrodo88 Profilo | Junior Member

>se c'è di mezzo un UpdatePanel, probabilmente c'è un problema di refresh.
>il bottone, l'immagine, l'uploader sono tutti nel UpdatePanel?
>Prima carichi il file e poi premi un bottone per vedere l'immagine? o le azioni avvengono in maniera diversa?
>Vorrei capire come hai messo i controlli rispetto all'UpdatePanel

Allora, io ho un controllo FileUpload che seleziono l'immagine. successivamente ho un pulsante che lo chiamo imposta che mi esegue il codiche che ho postato su... quindi non credo ci sia un problema di refresh. è proprio che l'image control non ne vuole sapere dell'immagine, ripeto che per asegnare l'immagine faccio in questo modo img_test.ImageUrl = "percorso immagine";
L. Michele

Gluck74 Profilo | Guru

forse no, forse non è un problema di update, ma c'è qualcosa che non mi torna nel codice che hai messo.

>string filename = System.IO.Path.GetFileName(FileUpload.PostedFile.FileName);
codice inutile, basta mettere
string filename = FileUpload.PostedFile.FileName;

>img_test.ImageUrl = Server.MapPath("/img/") + filename;
L'imageUrl non può essere un percorso fisico. deve essere un URL, quindi:
img_test.ImageUrl = string.Format("/img/{0}", filename);

inoltre: se il pulsante e il fileUpload (o anche solo il pulsante) stanno dentro l'updatePanel, non funziona.
Non ho capito bene il perché, ma sembra che il FileUpload, in questo caso, non abbia il file attaccato.

Sposta il pulsante nella pagina fuori dall'updatePanel e vedrai che funziona.

padronfrodo88 Profilo | Junior Member

>forse no, forse non è un problema di update, ma c'è qualcosa
>che non mi torna nel codice che hai messo.
>
>>string filename = System.IO.Path.GetFileName(FileUpload.PostedFile.FileName);
>codice inutile, basta mettere string filename = FileUpload.PostedFile.FileName;
>
>>img_test.ImageUrl = Server.MapPath("/img/") + filename;
>L'imageUrl non può essere un percorso fisico. deve essere un
>URL, quindi:
>img_test.ImageUrl = string.Format("/img/{0}", filename);
>
>inoltre: se il pulsante e il fileUpload (o anche solo il pulsante)
>stanno dentro l'updatePanel, non funziona.
>Non ho capito bene il perché, ma sembra che il FileUpload, in
>questo caso, non abbia il file attaccato.
>
>Sposta il pulsante nella pagina fuori dall'updatePanel e vedrai
>che funziona.
>
sei un grande... mi mancava solo la formattazione per assegnare l'immagine al controllo perxhé cmq anche solo modificando quello mi funzionava tutto...
grazie mille..
L. Michele
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5