-1
wc.DownloadFile(src.Value, @"d:\MyImages\" + images.ToString("D6"));

wcですWebClient

src.Valueたとえば、が含まれますwww.google.com\danny.jpg。ハードディスクにとして保存したいdanny.jpg。そして、もしsrc.Valueそこwww.google.com\moses.pngに私のハードディスクがあるなら、それはそうなるでしょうmoses.png

そのまま保存するにはsrc.Value、ファイルの名前とその形式、png、jpg、gif、またはその他の形式。

可変画像は、Form1次のように保存するたびに上に移動するレベルではありません。

images++;

したがって、ハードディスク上のリンクからファイルを保存するたびに、000000、000001、000002のようになります。ただし、名前と形式でリンクに表示されるとおりに保存したいと思います。

4

3 に答える 3

1

使用してみてくださいUri.Segments

サンプルコード:

String fileToDL = @"http://stackoverflow.com/Content/Img/stackoverflow-logo-250.png";
Uri uri = new Uri(fileToDL );
var filename = uri.Segments.Last();
wc.DownloadFile(Path.Combine(@"d:\MyImages", filename), fileToDL);
于 2012-09-15T08:06:14.137 に答える
0

私にとって、あなたの問題が何であるかを理解することは非常に困難です。というわけで、ここまでわかったことを答えてみます。

ダウンロードした画像を正しい名前で保存することに問題があると思います。

srcあなたの例では、プロパティで呼び出されるある種のコントロールまたはクラスがありますValue。この場合、src.Valueたとえば「www.google.com\moses.png」が出力されると思います。この文字列から「moses.png」を抽出し、別の変数に保存するだけです。

MSDNが言っていることに関してはWebClient、問題はないはずです。

このメソッドと例の詳細については、MSDN - WebClient.DownloadFile メソッド (文字列、文字列)を確認してください。

お役に立てれば幸いですが、そうでない場合は、問題をもう少し詳しく説明してください:)

于 2012-09-15T08:05:11.287 に答える
0

簡単な例を見てみましょう:

string str = "www.google.com/xyz/abc/danny.jpg";
string[] arr = str.Split('/');
string img = arr[arr.length-1];    
wc.DownloadFile(src.Value, @"d:\MyImages\" + img);

imgハードディスクに保存するファイル名が表示されます。

于 2012-09-15T07:57:34.347 に答える