DOBON.NET DOBON.NETプログラミング掲示板過去ログ

文字列を追加するには?

環境/言語:[WindowsXP Pro, C#]
分類:[.NET]

http://dobon.net/vb/dotnet/internet/ftpwebclient.html

DOBONさんのこちらのページでWebClientを使いFTPアップロードをする方法がありました。非常に分かりやすく、感謝しています。

そこに、"APPE"コマンドで送信する、というのがあり詳しくはファイルを送信する際に同じものがあったら追加で保存する、というものです。

この"ファイルを送信する"を"文字列を送信する"にはできないでしょうか?

文字列をテキストファイルに追加でアップロードする・・・ということです。

FTPは触れたこともなく全くの初心者です。
ご迷惑をおかけしてすみません。よろしくお願いします。
■No25298に返信(\anago\さんの記事)
> この"ファイルを送信する"を"文字列を送信する"にはできないでしょうか?
>
> 文字列をテキストファイルに追加でアップロードする・・・ということです。

ご質問頂いている手法からちょっと外れてしまって申し訳ないですが、「文字列をファイルに書き出してから、ファイルとして追加でアップロードする」ことはできないのでしょうか?
ありがとうございます。

ご提案いただいたテキストファイルに書き込んでからアップロードすることで、出来るようです。

あの、追加で申し訳ないのですが追加のファイルをアップロードしようとすると
「リモート サーバーがエラーを返しました: (451) プロセス中のローカル エラーです」
とエラーが返されてしまいます。

多分Dobonさんのやり方であってると思うんですが・・・
解決方法を教えていただければ・・・

あ、あと追加で成功した場合には
12345(元のファイル)→6789(追加のファイル)→123456789(最終的なファイル)
になるんですよね?
> あの、追加で申し訳ないのですが追加のファイルをアップロードしようとすると
> 「リモート サーバーがエラーを返しました: (451) プロセス中のローカル エラーです」
> とエラーが返されてしまいます。

エラーの中身を詳しく見てみた方がよいのではないでしょうか。たぶんWebExceptionがスローされていると思いますので、そのResponseプロパティのStatusDescriptionプロパティなどを調べてみてください。

あくまで予想ですが、サーバーが追加書き込みに対応していない可能性があります。

> あ、あと追加で成功した場合には
> 12345(元のファイル)→6789(追加のファイル)→123456789(最終的なファイル)
> になるんですよね?

ファイルの末尾に追加されるはずなので、そうなるはずです。
> あくまで予想ですが、サーバーが追加書き込みに対応していない可能性があります。

ありがとうございます。
いろいろとサーバーを切り替えてみて、やっとできました。
やはりAPPEに対応していないサーバーだったようです^^;

どうもありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板