sakaki_sanのプロフィール

@sakaki_san sakaki_san
ありがとう数17
質問数16
回答数19
ベストアンサー数
5
ベストアンサー率
45%
お礼率
64%

こんにちは コンピュータの仕事をしています

  • 登録日2003/02/12
  • FTPにフォルダのファイル全部をアップするには?

    Visual Basic 2010 で、ローカルの指定フォルダに作ったファイルを、FTPの指定フォルダに全てアップロードする方法を探しています。 http://dobon.net/vb/dotnet/internet/ftpwebrequest.html を参考にしましたが、ここや、Googleで見付かるサンプルコードは、1:1でファイルをアップするものばかりで、フォルダにあるファイル全部をアップロードするものはなかなかありません。 そこで、上記サイトを参考に次のようなモジュールを組んでみました。 Form1 には、テキストボックスとボタン、リストボックスを配置してあります。 Private ftpCredential As System.Net.NetworkCredential ------------------------- Sub main1() Dim Dname As String = Form1.TextBox1.Text Dim Rname As String ftpCredential = New System.Net.NetworkCredential("username", "password") Form1.ListBox1.Items.Clear() ''テキストボックスのフォルダの全ファイル一覧を取得 For Each FName As String In IO.Directory.GetFiles(Dname) Rname = FName.Replace(Form1.TextBox1.Text & "\", "") UploFtpFile("ftp://ftp.hogehoge.ne.jp/www/" + Rname, FName) Form1.ListBox1.Items.Add(Rname) Next DisconnectFtp("ftp://ftp.hogehoge.ne.jp/") End Sub ------------------------- Sub UploFtpFile(ByVal rmFile As String, ByVal loFile As String) Dim ftpReq As System.Net.FtpWebRequest = _ CType(System.Net.WebRequest.Create(rmFile), System.Net.FtpWebRequest) ftpReq.Credentials = ftpCredential ftpReq.Method = System.Net.WebRequestMethods.Ftp.UploadFile Dim reqStrm As System.IO.Stream = ftpReq.GetRequestStream() 'アップロードするファイルを開く Dim fs As New System.IO.FileStream( _ loFile, System.IO.FileMode.Open, System.IO.FileAccess.Read) 'アップロードStreamに書き込む Dim buffer(1023) As Byte While True Dim readSize As Integer = fs.Read(buffer, 0, buffer.Length) If readSize = 0 Then Exit While End If reqStrm.Write(buffer, 0, readSize) End While fs.Close() reqStrm.Close() End Sub ------------------------- Sub DisconnectFtp(ByVal uri As String) Dim ftpReq As System.Net.FtpWebRequest = _ DirectCast(System.Net.WebRequest.Create(uri), System.Net.FtpWebRequest) ftpReq.Method = System.Net.WebRequestMethods.Ftp.PrintWorkingDirectory ftpReq.KeepAlive = False End Sub End Module ------------------------- テキストボックスをフォルダとして、そのフォルダ内のファイルを全て、順番にアップロードしていき、最後に切断というのが希望の動作です。 ステップオーバーしながら監視していた所では、希望通り次々とファイルをアップロードしているようです。 気になるのは、上記のサイトの下の方に、 「TPサーバーとの接続と切断を繰り返すように思われるかもしれませんが、そうではありません」とはあるものの、これで本当に接続は切れていないのか? 相手のFTPに過負荷になるのではないか? 接続の確立や、インスタンス処理に問題があるのではないか? という疑問があります。 コードとして問題がないようでしたら、本番のプロジェクトのモジュールに組み込んで、自動ファイル生成から、そのアップロードまでが完成するのですが… なにか問題になりそうなところがあったり、「連続で全ファイルアップするなら、もっと簡単な方法があるよ」と御存知の方がいらしたら、教えてください。 よろしくお願いします。

  • windows7に対応のFTPソフト

    今は、FFFTP(1.98.7.0)とFTP Rush(2.1.3.0 中国語が指定されていました)の2種類をインストールしています。 バックアップを取ろうと大量なファイルをダウンロードし始めると、FFFTPはエラーで止まり、 FTP Rushは日本語で記入されているファイル名が文字化けしてしまいます。 転送エンコードがUTF8でFTP Rushのように高速なFTPソフトを教えていただけないでしょうか。 または、FTP Rushの読み込みがUTF8に指定できないでしょうか。

  • APS-Cサイズ専用のレンズについて

    Canonの5Dを購入しようと検討しているのですが、知り合いがCanonからニコンに変えた際に下記の2つのレンズをもらいました。 SP AF 17-50mm F/2.8 XR Di II LD Aspherical AF18-270mm F/3.5-6.3 Di II VC LD Aspherical 調べたところ、APS-Cサイズ専用のレンズのようなのですが、 この2つのレンズはフルサイズの5Dでも使用できるのでしょうか? また、当初は7Dを購入しようと思っていたのですが、 5DMarkIIがだいぶ値下がりしてきているので、どうせなら5Dを購入しようと思っているのですが、7Dと5DMarkIIはかなり違いがあるのでしょうか?

  • AccessでUTF-8のtxtデータを出力

    Shift-JISの.xlsデータをAccessにリンクして、UTF-8・.txtでエクスポートすると、ある項目だけ0→00, 11704→0, 45218→A2 と出力されます。 不思議なのは同じように「0」と入力しても00ではなく0と、あるいは入力した数字そのまま正常に出力されている項目もあるのです。 また、いろんなデータ型関数をためしてみましたが(CLng,CInt,CStr,Len(文字数取得してその文字数で指定して表示),CByte)Access上の表示は正しくとも、出力すると必ず先述のような形になっています。 なんとかして入力した数字をそのまま出力する方法はないでしょうか? 使用環境は OS:win7 Ver:Access2003 です。

  • www.a.comとwww.a.p.comは別?

    例えば銀行の暗証番号を、本物とそっくりなサイトをつくることで盗みとる場合があります。 そこでURLを見て確かめたいんですが、見方が分かりません。 http://www.***.co.jp が正しいサイトとすると、 http://www.***.php.co.jp は全く別のサイトになりまよね? また例えば http://www.***.co.jp/databaseが本物のとき、 http://www.***.co.jp/newdatabaseもそのサイト内のページで、偽物サイトではない、 つまり…co.jpや…comまでが正しければ、その後がどんな文字列でも正しいサイト内のどこかのページのURLであって、偽物サイトには繋がらないんですか? 最後に、URL自体の偽装はできるんですか?質問だらけでごめんなさい。お願いします