Avatar billede l_domino_l Nybegynder
02. februar 2007 - 08:08 Der er 17 kommentarer og
1 løsning

Kopier filer fra Internettet direkte ned på Computeren.

Jeg sidder med programmet Visual Basic 2005 Express Edition.

Jeg har nogen filer jeg gerne vil have at nogen partnere til vores firma kan downloade ned til deres Computer. Og de skal ligges i et bestemt bibliotek på C drevet.

Vi snakker om ca. 200 filer, der til sammen fylder ca. 30 MB når de IKKE er pakket ned.

Pakker jeg dem ned i en Zip-fil fylder de kun 8MB.

Meningen er at de skal downloade og kører et EXE program, der går ud på nettet og henter de filer der skal bruges.

Det ville være smart hvis den kan tjekke om der er nyere filer på nettet end lokalt på maskinen.

Jeg har et FTP sted som jeg kan bruge, men også et Webhotel, så det er ligemget hvorfra den henter det.

Er der nogen der vil hjælpe mig igennem det?
Avatar billede mrbonus Novice
02. februar 2007 - 08:31 #1
lille eksempel, med webrequest og webresponse, kan du få filen fra nettet som en stream, så skal du bare gemme din stream. :-)

Regner med at du kan gemme streamen selv, ellers siger du bare til

        Dim imageUri As New System.Uri(TextBox9.Text)
        Try
            Dim req As WebRequest = WebRequest.Create(imageUri)
            Dim resp As WebResponse = req.GetResponse()
            Dim stream as Stream = resp.GetResponseStream())
        Catch ex As Exception

        End Try
Avatar billede l_domino_l Nybegynder
02. februar 2007 - 08:33 #2
Ok... jeg glemte da vidst at sige at jeg er temmelig nybegynder!
Avatar billede mrbonus Novice
02. februar 2007 - 08:39 #3
hehe, bikser lige et koplet eksempel op så
Avatar billede l_domino_l Nybegynder
02. februar 2007 - 08:41 #4
many tanx
Avatar billede mrbonus Novice
02. februar 2007 - 08:59 #5
Hvis du er i tvivl om noget i dette eksempel, så bare spørg løs

Dim imageUri As New System.Uri(TextBox9.Text)
        Try
            'kald op til serveren
            Dim req As WebRequest = WebRequest.Create(imageUri)
            'hent serverens svar, (som er filen)
            Dim resp As WebResponse = req.GetResponse()
            'slet den midlertidige fil
            File.Delete("c:\fil.temp")
            'streams
            Dim fileStream As New FileStream("c:\fil.temp", FileMode.CreateNew)
            Dim binaryWriter As New BinaryWriter(fileStream)
            Dim stream As Stream = resp.GetResponseStream()

            'hent alle bytesne der er i streamen
            Dim arrayList As New ArrayList
            Dim aByte As Byte = stream.ReadByte()
            While aByte > -1
                Try
                    arrayList.Add(aByte)
                    aByte = stream.ReadByte()
                Catch ex As Exception
                    Exit While
                End Try
            End While

            'Skriv bytesne til filen
            Dim bytes() As Byte = CType(arrayList.ToArray(GetType(Byte)), Byte())
            binaryWriter.Write(bytes, 0, bytes.Length)
            binaryWriter.Close()
            'PictureBox1.Image = Bitmap.FromStream(resp.GetResponseStream())
        Catch ex As Exception
            Label4.Text = ex.Message
        End Try
Avatar billede l_domino_l Nybegynder
02. februar 2007 - 09:06 #6
Her:
Dim imageUri As New System.Uri(TextBox9.Text)

Er det stien på nettet? Feks: http://www.testcenter.dk/fil.zip?
Avatar billede mrbonus Novice
02. februar 2007 - 09:07 #7
Ja det kunne se således ud
Dim imageUri As New System.Uri("http://www.testcenter.dk/fil.zip")
Avatar billede mrbonus Novice
02. februar 2007 - 09:08 #8
du skal også skrive disse to linier øverst på siden (uden for formen eller klassen)

Imports System.IO
Imports System.Net
Avatar billede l_domino_l Nybegynder
02. februar 2007 - 09:10 #9
Når jeg klipper/klister det ind i mit Projekt, kommer den med 7Errors

Type 'WebRequest' is not defined
Type 'WebResponse' is not defined
Type 'File' is not defined
Type 'FileStream' is not defined
Type 'BinaryWriter' is not defined
Type 'Strwam' is not defined
Avatar billede l_domino_l Nybegynder
02. februar 2007 - 09:11 #10
Aha... det hjalp på de fejl....
Avatar billede mrbonus Novice
02. februar 2007 - 09:12 #11
:)
Avatar billede mrbonus Novice
02. februar 2007 - 09:12 #12
hmmm, der skal ikke stå Strwam, men Stream, hvis du stadig har fejl på den
Avatar billede l_domino_l Nybegynder
02. februar 2007 - 09:19 #13
Kanont!

Kan jeg så få VB til at pakke alle de filer ud i et bestemt bibliotek?

Feks: C:\TestCenter\
Avatar billede mrbonus Novice
02. februar 2007 - 09:34 #14
umiddelbart tror jeg ikke at der findes noget unzip værktøj i .NET biblioteket, men du kan jo bygge en selvudpakkende zip fil, som du så kan eksekvere, da det så er blevet til en exe fil.
Avatar billede mrbonus Novice
02. februar 2007 - 09:49 #15
Det med en nyere version på nettet kan du klare ved at ligge en versions tekst fil, samme sted, og så hente den først, og se om du har sat en nyere version i denne fil.
Avatar billede l_domino_l Nybegynder
02. februar 2007 - 10:22 #16
Det skal jeg nok få til at virke....

Kan du klarer denne her også?

http://www.eksperten.dk/spm/759960
Avatar billede mrbonus Novice
02. februar 2007 - 10:47 #17
Vedlægger lige et svar, og kigger på den anden så
Avatar billede arne_v Ekspert
05. februar 2007 - 01:36 #18
for UNZIP i .NET kan man enten hente #ZipLib eller udnytte J# supporten og bruge
java.util.zip
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
Kurser inden for grundlæggende programmering

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