Avatar billede crank29dk Nybegynder
11. april 2008 - 13:48 Der er 12 kommentarer og
2 løsninger

Auto upload af billeder til FTP

Hej eksperter.
Jeg har jeg siddet og rodet med automatisk upload af filer til en FTP server. Jeg har brugt MSDNs eget eksempel og arbejdet ud fra det.

http://msdn2.microsoft.com/en-us/library/ms229715.aspx

Desværre er det kun tekst der kan sendes med det. Så når jeg sender en billede fil kommer der forkert data frem fordi den encoder dataen inden den sender den.

Har forsøgt uden encoding. Men problemet er at den skal bruge GetBytes, som kun kan bruges hvis man encoder dataen, da Stream.Write kun sender i bytes. Har derefter forsøgt at converte dataen til byte, men den vil have det i et array. Og jeg er lidt på bar bund med hvordan man deler data op og hiver en bestemt del ud.

Jeg vil ikke ud i 3rd party dlls og sådan, vil bare bruge .NETs egne klasser og dlls.

Hjælp!!
Avatar billede finger Nybegynder
11. april 2008 - 14:37 #1
Er det ikke muligt at åbne billedet som en stream af bytes og sende det sådan?
Avatar billede crank29dk Nybegynder
11. april 2008 - 14:39 #2
Måske.. Ved bare ikke hvordan det gøres hvis man kan..
Avatar billede finger Nybegynder
11. april 2008 - 14:42 #3
http://www.csharp-station.com/Articles/Thumbnails.aspx

Jeg vil tro at du kan bruge noget i dette eksempel.

Åben billedet med System.Drawing.Image og brug en MemoryStream til at loade det ind i ram og stream det i bytes derfra? Det burde kunne virke.
Avatar billede aaberg Nybegynder
11. april 2008 - 14:44 #4
Du kan få byte data for et billede på følgende måde:

            Image i = Image.FromFile("c:\myImage.png");

            MemoryStream ms = new MemoryStream();
            i.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
            byte[] buffer = ms.GetBuffer();
Avatar billede finger Nybegynder
11. april 2008 - 14:44 #5
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
return  ms.ToArray();
}
Avatar billede crank29dk Nybegynder
11. april 2008 - 14:48 #6
Hmm måske.. Prøver at rode lidt med det.
Avatar billede crank29dk Nybegynder
11. april 2008 - 14:52 #7
Hov så kom der pludselig en del svar ^^. Tror der er noget jeg kan bruge der ihvertfald. Tester lige.
Avatar billede arne_v Ekspert
11. april 2008 - 15:03 #8
request.UseBinary = true;

boer faa FtpWebRequest til at uploade binaert
Avatar billede crank29dk Nybegynder
11. april 2008 - 15:25 #9
Hmm hvis jeg gør det binært, vil den så kunne overføre alle slags filer uden at jeg skal konvertere det til den ene eller anden type?
Avatar billede crank29dk Nybegynder
11. april 2008 - 15:36 #10
Orh hvad har ihvertfald fået det til at virke på en blanding af aaberg80s og fingers metoder. Tusinde tak. hmm nu er spørgsmålet så.. hvordan deler jeg points til jer hver? :S Dette er det første spørgsmål jeg har fået svar på herinde.
Avatar billede mcnovy Nybegynder
12. april 2008 - 02:53 #11
du beder dem smide et svar, og når de begge har smidt et svar, så kan du markere begge navne, og vælge accepter svar..
Avatar billede aaberg Nybegynder
12. april 2008 - 15:22 #12
svar :-)
Avatar billede finger Nybegynder
14. april 2008 - 08:09 #13
svar
Avatar billede crank29dk Nybegynder
14. april 2008 - 11:18 #14
Ahh sådan. Igen tak for hjælpen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester