- - PR -
System.Drawing.Imageのファイル割り当て
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-11-13 09:08
お世話になっております。
開発環境はVS.NET2002,C#です。 System.Drawing.Image.FromFileでネットワーク越しのファイルを 割り当てたいのですが、単純に"ftp://XXXX/aaa.jpg"(ftpサイトにある) と指定すると、「指定されたパスのフォーマットはサポートされていません。」 というエラーになってしまいます。 どのように指定をすれば良いのでしょうか? それとも他の方法で割り当てる方法があるのでしょうか? ご存知の方がいらっしゃいましたらご教授願います。 [ メッセージ編集済み 編集者: kost 編集日時 2003-11-13 09:11 ] | ||||
|
投稿日時: 2003-11-13 11:02
"ftp://〜"はURIでファイルのパスではないので、 Image.FromFileメソッドでは扱えないと思います。 ftpからのダウンロードのStreamを取得した上で、 Image.FromStreamメソッドで読み込んではいかがでしょうか? System.Net名前空間のクラスをざっと探してみた範囲では、 ftpを扱えるクラスが見当たりませんでした。 (WebClientやWebRequestクラスの派生クラス等) FTPの実装に関しては、MSサイトの最新のHOWTOに下記のものがあがっていたので、 これを使ってみるOr参考にするとよいかもしれません。 http://support.microsoft.com/default.aspx?scid=kb;ja;812404 [HOWTO] Visual Basic .NET を使用してプラグ可能なプロトコルを記述し、 マネージ クラスで FTP をサポートする方法 | ||||
|
投稿日時: 2003-11-13 11:29
よねKENさん、早速のご回答ありがとうございます。 紹介していただいた方法を参考に解決しました。 ※ftpだと使い勝手が良くないので、仮想ディレクトリを作成しました。 ありがとうございました。 参考までに ------------------------------------------------------------ String szUri= "http://XXXX/aaa.jpg"; // Create WebRequest WebRequest w = WebRequest.Create(szUri); WebResponse r = w.GetResponse(); Stream respstream = r.GetResponseStream(); if(respstream.CanRead) { picture.Image = System.Drawing.Image.FromStream(respstream); } |
1