- ベストアンサー
C#でリンク先の画像を自動保存する方法
- C#でリンク先の画像を自動保存する方法について教えてください。
- 質問者はC、C++について勉強しており、C#を使用してリンク先の画像を自動保存したいと考えています。
- 具体的な要件は、連番のURL先の画像を自動的に保存することです。開始値と終了値を指定して、連番のURLにアクセスして画像を保存します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
for (int i = start; i <= end; i++) { s = i.ToString(); // System.Net.WebClient wc = new System.Net.WebClient(); // wc.DownloadFile(url.Replace(url, i.ToString(frm)), @"【ここには保存させたいフォルダのパスを入れます】" + s + ".jpg"); Console.WriteLine(url.Replace(url, i.ToString(frm))); Console.WriteLine(@"【ここには保存させたいフォルダのパスを入れます】" + s + ".jpg"); // wc.Dispose();// wc.Dispose(); // Console.WriteLine(url, i.ToString(frm)); } と、forの中をコメントアウトし、wc.DownloadFileに渡される引数をWriteLineしてみてください あなたが期待するのは 連番のURL 保存先ファイル名 だと思いますが、そうはならないはずです。 > 僕はC、C++をある程度勉強しているのですが、タイトルのようにリンク先の画像保存を行うには、C#が一番のようなので、必死に手さぐりでコードを書いています。 おそらく一番簡単なのは、連番ダウンロードが可能なアプリを使うことです。 コマンドラインで実行できるものもあります。 次は、連番URLを出力する簡単なプログラム + URL一覧からダウンロードできるアプリ C,C++,C#どれでもできるけど、Perl,Ruby,PHP,Python 等のスクリプトの方がコンパイル不要で便利
その他の回答 (1)
- Picosoft
- ベストアンサー率70% (274/391)
言語の知識も大事ですが、それよりもまずデバッグの技術を身につけましょう。 時間と労力の節約になります。 関数を呼び出してエラーが出てしまう場合、 まず関数に渡しているデータがおかしくないかをチェックしてください。 WebClient.DownloadFileメソッドにどういうデータを渡しているか、 コンソールに出力してみましょう。 for (int i = start; i <= end; i++) { s = i.ToString(); System.Net.WebClient wc = new System.Net.WebClient(); /**引数を見てみる**/ Console.WriteLine("Downloading from " + url.Replace(url, i.ToString(frm))); /******************/ wc.DownloadFile(url.Replace(url, i.ToString(frm)), @"【ここには保存させたいフォルダのパスを入れます】" + s + ".jpg"); wc.Dispose(); Console.WriteLine(url, i.ToString(frm)); } } } }
お礼
引数を確認してみたところ、確かにおかしかったです。 それぞれのメソッドの機能もまともに理解出来てないので、やはり既存のアプリを使うことにします。 ありがとうございました。