「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.03.17
XML
カテゴリ: C#.NET


以下は、C#のWPFアプリケーションでファイルをFTP経由でサーバーにアップロードするサンプルコードです。この例では、`System.Net`名前空間の`FtpWebRequest`クラスを使用してFTP通信を行います。


```csharp

using System;

using System.IO;

using System.Net;

using System.Windows;


namespace FtpFileUploader

{

    public partial class MainWindow : Window

    {

        public MainWindow()

        {

            InitializeComponent();

        }


        private void UploadButton_Click(object sender, RoutedEventArgs e)

        {

            string ftpServer = "ftp://example.com";

            string ftpUsername = "username";

            string ftpPassword = "password";

            string filePath = "C:\\example\\file.txt"; // アップロードするファイルのパス

            string fileName = Path.GetFileName(filePath);


            try

            {

                // FTPリクエストを作成

                FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(ftpServer + "/" + fileName);

                ftpRequest.Method = WebRequestMethods.Ftp.UploadFile;

                ftpRequest.Credentials = new NetworkCredential(ftpUsername, ftpPassword);


                // ファイルを読み込んでFTPストリームに書き込む

                using (FileStream fileStream = File.OpenRead(filePath))

                using (Stream ftpStream = ftpRequest.GetRequestStream())

                {

                    fileStream.CopyTo(ftpStream);

                }


                MessageBox.Show("ファイルがアップロードされました。", "成功", MessageBoxButton.OK, MessageBoxImage.Information);

            }

            catch (Exception ex)

            {

                MessageBox.Show("エラー: " + ex.Message, "エラー", MessageBoxButton.OK, MessageBoxImage.Error);

            }

        }

    }

}

```


この例では、WPFアプリケーションのMainWindowには、ファイルをアップロードするための`UploadButton`という名前のボタンが存在します。ボタンがクリックされると、指定されたFTPサーバーに指定されたファイルがアップロードされます。


このコードでは、FTPサーバーのURL、ユーザー名、パスワード、およびアップロードするファイルのパスを指定する必要があります。また、`FtpWebRequest`クラスを使用してFTPリクエストを作成し、ファイルを読み込んでFTPストリームに書き込みます。アップロードが成功したかどうかは、メッセージボックスを使用してユーザーに通知されますが、実際のアプリケーションでは適切なエラーハンドリングを行うことが重要です。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.03.17 10:35:21


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

© Rakuten Group, Inc.
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: