PDA

View Full Version : [c#]Preview immagini da ftp remoto


RaouL_BennetH
16-04-2013, 15:48
Ciao a tutti.

Sono in ambiente winforms ma non č vincolante.

Ho un server ftp remoto, al quale mi collego e carico in una combobox la lista delle immagini presenti. Per meglio dire, carico il nome dell'immagine con l'estensione.

Ho modo di avere una preview in una picturebox nell'evento selectedindexchanged della combo ?

Grazie a tutti.

RaouL.

RaouL_BennetH
16-04-2013, 16:33
Un primo tentativo č questo:


public static Image GetImage(string fileName)
{
try
{
string uri = "ftp://192.168.1.12/images/";

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri(uri));
request.KeepAlive = false;
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential("raoul", "raoul");
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
string path = Path.Combine(uri, fileName);
Image img = Image.FromFile(path);
Image thumb = img.GetThumbnailImage(80, 80, () => false, IntPtr.Zero);
thumb.Save(Path.ChangeExtension(Path.Combine(Application.ExecutablePath, fileName), "thumb"));
return thumb;
}
catch (Exception)
{

throw;
}
}


Alla riga in 'grassetto' mi solleva questa eccezione:


Il formato del percorso specificato non č supportato:

banryu79
16-04-2013, 17:10
Ciao, ho letto la documentazione:
http://msdn.microsoft.com/en-us/library/stf701f5.aspx

Il problema č forse dovuto dal fatto che il metodo Image.FromFile non accetta un URI come argomento?
Non č che filename deve essere un path locale?

A leggere su MSDN mi č parso cosė.

RaouL_BennetH
16-04-2013, 17:46
Ciao, ho letto la documentazione:
http://msdn.microsoft.com/en-us/library/stf701f5.aspx

Il problema č forse dovuto dal fatto che il metodo Image.FromFile non accetta un URI come argomento?
Non č che filename deve essere un path locale?

A leggere su MSDN mi č parso cosė.

E' cosė infatti, ora sto provando a implementare qualcosa con Image.FromStream

idoido
16-04-2013, 18:06
E' cosė infatti, ora sto provando a implementare qualcosa con Image.FromStream
Per fare una preview devi purtroppo scaricare l'immagine intera in locale.
Tanto vale crearsi un file temporaneo scaricando il file.

RaouL_BennetH
16-04-2013, 21:09
Alla fine ho risolto proprio con Image.FromStream

rizamp
03-05-2013, 11:05
Alla fine ho risolto proprio con Image.FromStream

cosė a tutti gli effetti scarichi l'immagine leggendola bit a bit. purtroppo ftp non permette di accedere al contenuto se non per fare un download (e poco altro): upload/download/remove files, creazione ed eliminazione directory e stop. del resto č un protocollo realizzato con pochi fronzoli apposta per questo motivo.