
こんにちは
僕は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...
-
実行ファイルのパスを取得したい
-
ルミーズショッピングカート
-
【VB.NET】App.configにファイ...
-
エクセルのマクロで特定フォル...
-
エクセルVBAで一つ上の階層...
-
EXCEL(VBA)で指定フォルダ内の...
-
コマンドプロンプトでファイル...
-
header(Location)で相対URL...
-
Windows PowerShellでscoopコマ...
-
C#でパスの正規化
-
ファイルの関連付け情報の取得
-
最後のパスの部分をなんと呼べ...
-
Cの関数で自分自身のパス取得
-
android Javaの画像表示について
-
文字列からファイルパスの取得
-
ファイル名の取得(エクセルVBA)
-
Access2000のテーブルにPDFファ...
-
C#で、リンク先の画像自動保存...
-
超初級者です。エクセルVBAで写...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
エクセルVBAで一つ上の階層...
-
xcopyコマンドの進行状況を表示...
-
Excel 相対パス
-
実行ファイルのパスを取得したい
-
コマンドプロンプトのコピー関...
-
【VB.NET】App.configにファイ...
-
エクセルのマクロで特定フォル...
-
VBA★PDFをPDFアプリで印刷し...
-
ExcelVBAの使い方 ¥の使い方...
-
fopenでのパス指定
-
ExcelのVBAで上書き保存を確...
-
EXCEL(VBA)で指定フォルダ内の...
-
C#でのProcess.Startと変数path
-
【VBA】ExcelマクロでCSVファイ...
-
VBAでパワーシェルを実行したい...
-
A列に記載されているフォルダ...
-
初心者powershellのPS1ファイル...
-
Eclipse
-
VBAとロングファイル名
おすすめ情報