HomeVisual Basic技術項目 FTPアップロード、ファイル属性変更

FTPアップロード、ファイル属性変更

Public Class Form1

	Private Sub Button1_Click(ByVal sender As System.Object, _
	ByVal e As System.EventArgs) Handles Button1.Click

		' ローカルターゲットディレクトリ
		Dim target As String = "C:\user\vb\2008_04\lightbox_patio"

		' ローカルターゲットディレクトリ以下のディレクトリ一覧
		Dim subFolders As String() = System.IO.Directory.GetDirectories( _
		   target, "*", System.IO.SearchOption.AllDirectories)

		Dim files As String() = Nothing
		Dim ftp As String = ""
		Dim wc As System.Net.WebClient = Nothing

		' アップロード用の WEB クライアント
		wc = New System.Net.WebClient()
		' アップロード用の ユーザー・パスワード
		wc.Credentials = New System.Net.NetworkCredential("user", "xxxxxxxx")

		' ローカルフォルダの一覧をソート( ディレクトリ作成順序の為の整列 )
		Array.Sort(subFolders)

		' ローカルフォルダを列挙
		For Each dir As String In subFolders

			' リモートディレクトリ作成用のパス作成
			' ここでは、uploadTest 以下に作成するようにきめうち
			ftp = "ftp://lightbox.if.land.to/uploadTest" & (dir.Replace(target, "")).Replace("\", "/")
			' ディレクトリ作成
			MkDir(ftp)
			' デバッグ用の標準出力
			' Console.WriteLine(ftp)

			' 各ローカルディレクトリ内のファイル一覧
			files = System.IO.Directory.GetFiles(dir, "*", IO.SearchOption.TopDirectoryOnly)
			' ファイルを列挙
			For Each uploadTarget As String In files

				' アップロード( 上書き )
				wc.UploadFile( _
				 ftp & "/" & System.IO.Path.GetFileName(uploadTarget), _
				 uploadTarget _
				 )
				' デバッグ用の標準出力
				' Console.WriteLine(uploadTarget)

			Next

		Next

		' メモリ開放
		wc.Dispose()

		MessageBox.Show("処理が終了しました")

	End Sub

	Private Sub MkDir(ByVal path As String)

		Dim ftpReq As System.Net.FtpWebRequest = Nothing
		Dim ftpRes As System.Net.FtpWebResponse = Nothing

		Try

			ftpReq = CType(System.Net.WebRequest.Create(path), System.Net.FtpWebRequest)
			'ログインユーザー名とパスワードを設定
			ftpReq.Credentials = New System.Net.NetworkCredential("user", "xxxxxxxx")
			' ディレクトリ作成コマンド
			ftpReq.Method = System.Net.WebRequestMethods.Ftp.MakeDirectory
			ftpReq.KeepAlive = False

			' 実行
			ftpRes = CType(ftpReq.GetResponse(), System.Net.FtpWebResponse)

			' デバッグ用の標準出力
			' Console.WriteLine("{0}: {1}", ftpRes.StatusCode, ftpRes.StatusDescription)
			' 閉じる
			ftpRes.Close()

		Catch ex As Exception

		End Try

	End Sub

End Class



ページトップへ

データベース

サーバ

Copyright (C) MadCap. All Rights Reserved.