Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Skapa mapp på FTP-server

Postades av 2007-06-29 23:30:37 - David Johannesson, i forum visual basic - allmänt, Tråden har 4 Kommentarer och lästs av 1388 personer

Hej!

Jag försöker förtvivlat att skapa en mapp på en FTP-server med VB-kod.
Jag har läst allt jag hittar om FTP här på Pellesoft, och tyvärr är många externa länkar i gamla foruminlägg obrukbara, just för att de är gamla.

Jag använder följande kod för att skicka filer till en FTP-server, men jag vill få med själva mappstrukturen, och måste därför kunna skapa mappar!

Följande är en class jag hittat här på Pellesoft. Jag anropar funktionen PutFile för att skicka filer...

'Lägg till en Class Module och döp den till FTPPutFile

Option Explicit

Private Const FTP_TRANSFER_TYPE_UNKNOWN = &H0
Private Const FTP_TRANSFER_TYPE_BINARY = &H2
Private Const FTP_TRANSFER_TYPE_ASCII = &H1
Private Const INTERNET_OPEN_TYPE_DIRECT = 1
Private Const INTERNET_SERVICE_FTP = 1
Private Const INTERNET_FLAG_PASSIVE = &H8000000

Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, ByVal sUsername As String, ByVal sPassword As String, ByVal lService As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function FtpSetCurrentDirectory Lib "wininet.dll" Alias "FtpSetCurrentDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean
Private Declare Function FTPPutFile Lib "wininet.dll" Alias "FtpPutFileA" (ByVal hFtpSession As Long, ByVal lpszLocalFile As String, ByVal lpszRemoteFile As String, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Long

Private lngInternetSession As Long
Private lngFTPSession As Long



Public Enum FileTransferType
    ftpUnknown = FTP_TRANSFER_TYPE_UNKNOWN
    ftpAscii = FTP_TRANSFER_TYPE_ASCII
    ftpBinary = FTP_TRANSFER_TYPE_BINARY
End Enum



Public Enum ConnectionModes
    Active = 0
    Passive = INTERNET_FLAG_PASSIVE
End Enum

'Skapa en kontakt med servern, returnerar True ifall det gick bra


Public Function ConnectToServer(ByVal Server As String, Optional ByVal Port As Long = 21, Optional ByVal ConnectionMode As ConnectionModes = Active, Optional ByVal Username As String, Optional ByVal Password As String) As Boolean
Dim blnRet As Boolean

CloseConnection
If Username = "" Then Username = "Anonymous@Anonymous.com"

lngInternetSession = InternetOpen("FTPPUT", INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)

If lngInternetSession <> 0 Then
    lngFTPSession = InternetConnect(lngInternetSession, Server, Port, Username, Password, INTERNET_SERVICE_FTP, ConnectionMode, 0)
End If

If lngFTPSession <> 0 Then blnRet = True

ConnectToServer = blnRet
End Function

'Skicka upp en fil på servern med valfri transfertype, Ifall annan katalog än din hemmakatalog specifiera den


Public Function PutFile(ByVal LocalFilePath As String, ByVal RemoteFilename As String, Optional ByVal TransferType As FileTransferType = ftpBinary, Optional ByVal WorkingDir As String) As Boolean

Dim retFile As Long, blnRet As Boolean

If WorkingDir <> "" Then FtpSetCurrentDirectory lngFTPSession, WorkingDir

retFile = FTPPutFile(lngFTPSession, LocalFilePath, RemoteFilename, TransferType, 0)
If retFile <> 0 Then blnRet = True
PutFile = blnRet
End Function

'Stäng kontakten till servern


Public Sub CloseConnection()
If lngFTPSession <> 0 Then InternetCloseHandle lngFTPSession
If lngInternetSession <> 0 Then InternetCloseHandle lngInternetSession
End Sub



Private Sub Class_Terminate()
CloseConnection
End Sub


När jag anropar PutFile så kan jag inte sätta "WorkingDir" till änskad mapp om den mappen inte existerar. Jag vill alltså skapa en ny mapp på FTP-servern genom VB-kod. Hur?


Svara

Sv: Skapa mapp på FTP-server

Postades av 2007-06-30 01:13:03 - Fredrik Hansson

Jag hade ett bokmärke på http://www.answers.com/topic/ftp-functions?cat=technology sedan gammalt.

Där kan man bland annat läsa följande:

<code>
Private Declare Function FtpCreateDirectory Lib "wininet.dll" Alias "FtpCreateDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean

FtpCreateDirectory hConnection, "testing"
</code>

Har inte testat själv, men det kanske kan funka..


Svara

Sv:Skapa mapp på FTP-server

Postades av 2007-06-30 12:02:57 - Sven Åke Persson

Skrev/översatte en artikel i ämnet för några år sedan.Kan du få någon hjälp där ?

http://www.pellesoft.se/area/articles/article.aspx?artid=370


Svara

Sv: Skapa mapp på FTP-server

Postades av 2007-07-01 13:44:20 - David Johannesson

Tack för svar!
Studerar båda länkarna...

/David


Svara

Sv:Skapa mapp på FTP-server

Postades av 2007-07-01 18:16:16 - David Johannesson

Tack både Fredrik och Sven-Åke.

Med hjälp av Fredriks tips så löste jag det hela.

Intressant artikel du har översatt Sven-Åke!

/David


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 725
27 958
271 751
440
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies