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

FTPリクエストが作成できない

環境/言語:[VB2010]
分類:[.NET]

http://dobon.net/vb/dotnet/internet/ftpwebrequest.html#webexception
こちらのページにあるようにファイルをアップロードしたかったのですが、最初のほうでエラーになってしまいました。VBです。


Private Sub Uploadkeionas(ByVal url As String, ByVal UploadFile As String)
'アップロードするファイル
Dim upFile As String = UploadFile
'アップロード先のURI
Dim u As New Uri(url)

'FtpWebRequestの作成
'↓↓↓↓ここでエラーになる
Dim ftpReq As System.Net.FtpWebRequest = CType(System.Net.WebRequest.Create(u), System.Net.FtpWebRequest)

(略)


InvalidCastExceptionはハンドルされませんでした

型 'System.Net.HttpWebRequest' のオブジェクトを型 'System.Net.FtpWebRequest' にキャストできません。
2014/04/22(Tue) 09:04:21 編集(投稿者)

■No32294に返信(YIさんの記事)
> 型 'System.Net.HttpWebRequest' のオブジェクトを型 'System.Net.FtpWebRequest' にキャストできません。

指定した url が、
 ftp://example.com/〜
の形式ではなく、
 http://example.com/〜
 https://example.com/〜
などの形式になっているのでは無いでしょうか。
前者を指定した場合は、FtpWebRequest が生成されますが、
後者を指定した場合は、HttpWebRequest が生成されます。

お使いのサーバーが FTP サービスを公開しているかも確認しておいてください。


なおホストサーバーによっては、Web として公開されるパスと
FTP 上のパスが異なっている場合もあります。たとえば、
マルチドメイン対応のホストにおいては、
 http://www.example.net/images/test.jpg
に相当する場所でファイルを公開するために
 ftp://example.net/example.net/wwwroot/images/test.jpg
へと配置せねばならないケースなどがありえます。
回答ありがとうございます。

http://・・・をftp://・・・に直したら動きました。
何回試してもうまくいかなかったので、fc2ホームページスペースの異常かとも考えていましたが、解決できてよかったです。
解決済みを付けるのを忘れていました。
解決済み!

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