こんにちは
僕はC、C++をある程度勉強しているのですが、タイトルのようにリンク先の画像保存を行うには、C#が一番のようなので、必死に手さぐりでコードを書いています。
実現したい内容は、連番のURL先の画像を自動保存する、というプログラムです。
http://001.jpg
http://002.jpg
http://003.jpg
.
.
.
といったURLを、基本のURL、桁数、開始値、終了値を入力し、自動的にアクセス、保存させたいわけです。
こちらがコードになります。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace aaa {
class Program {
static void Main(string[] args) {
string s;
string url = System.Console.ReadLine();
Console.WriteLine("書式");
string frm = Console.ReadLine();
Console.Write("開始値;");
int start = int.Parse(Console.ReadLine());
Console.Write("終了値;");
int end = int.Parse(Console.ReadLine());
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");
wc.Dispose();
Console.WriteLine(url, i.ToString(frm));
}
}
}
}
例のURLを使うなら、入力は
http://{0}.jpg
0
1
10(仮)
です。
これで動くように作ったつもりなんですが、終了値入力終了後、エラーが出てきてしまいます。
コンパイラ側で
「WebExceptionはハンドルされませんでした」
「ファイル`C:\Users\【僕のユーザー名】\AppData\Local\Temporary Projects\Project\bin\Debug\1'が見つかりませんでした」
というものです。
どうかC#に慣れている方ご教授ください。
当方は、プログラミングの基礎知識はありますが、素人で、かつC#に関する知識はほぼゼロです。
メソッドやクラス等の書式も根本的に勘違いしている可能性もあります。すみません。
出来れば、具体的な改善ソースを掲示して頂くか、分かりやすく噛み砕いた説明の方をお願いしたいです。
No.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 等のスクリプトの方がコンパイル不要で便利
引数を確認してみたところ、確かにおかしかったです。
それぞれのメソッドの機能もまともに理解出来てないので、やはり既存のアプリを使うことにします。
ありがとうございました。
No.1
- 回答日時:
言語の知識も大事ですが、それよりもまずデバッグの技術を身につけましょう。
時間と労力の節約になります。
関数を呼び出してエラーが出てしまう場合、
まず関数に渡しているデータがおかしくないかをチェックしてください。
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));
}
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル 二つ上のディ...
-
エクセルvbaでdocuworksprinter...
-
エクセルVBAで一つ上の階層...
-
初心者powershellのPS1ファイル...
-
Excel 相対パス
-
デスクトップなど特殊フォルダ...
-
VBAでパワーシェルを実行したい...
-
VBAとロングファイル名
-
ExcelのVBAで上書き保存を確...
-
エクセルのマクロで特定フォル...
-
開いているファイルを削除し、...
-
コマンドプロンプト 半角スペー...
-
パスワード保護されたExcelファ...
-
EXCEL(VBA)で指定フォルダ内の...
-
VBA★PDFをPDFアプリで印刷し...
-
【続き】windowsペイントを開く...
-
VB2005 でパス名が誤っていない...
-
エクセルの二重起動をやめたい
-
ファイルがオープンできない
-
A列に記載されているフォルダ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル 二つ上のディ...
-
エクセルvbaでdocuworksprinter...
-
エクセルVBAで一つ上の階層...
-
Excel 相対パス
-
【VB.NET】App.configにファイ...
-
xcopyコマンドの進行状況を表示...
-
【VBA】ExcelマクロでCSVファイ...
-
EXCEL(VBA)で指定フォルダ内の...
-
エクセルのマクロで特定フォル...
-
パスワード保護されたExcelファ...
-
ExcelVBAの使い方 ¥の使い方...
-
開いているファイルを削除し、...
-
SaveAsの保存先について
-
初心者powershellのPS1ファイル...
-
VBA★PDFをPDFアプリで印刷し...
-
fopenでのパス指定
-
【Excel VBA】Power Qurry のソ...
-
指定したフォルダ内の最新ファ...
-
A列に記載されているフォルダ...
-
ExcelのVBAで上書き保存を確...
おすすめ情報