ランダムイメージをhttp://random.cat/
から取得したかったので、Directory.GetFiles
などを使用してそれらのインデックスを作成したかったのですが、これは機能しません。だから、Directory.GetFiles
の機能を得るにはどうすればよいでしょうか?http://random.cat/i
(これは画像が保存されている場所です)と思いますか?ウェブディレクトリからファイルを取得する
ありがとうございます!
ランダムイメージをhttp://random.cat/
から取得したかったので、Directory.GetFiles
などを使用してそれらのインデックスを作成したかったのですが、これは機能しません。だから、Directory.GetFiles
の機能を得るにはどうすればよいでしょうか?http://random.cat/i
(これは画像が保存されている場所です)と思いますか?ウェブディレクトリからファイルを取得する
ありがとうございます!
画像データベースにはのアクセス権がありませんが、一度に1つの画像を取得するAPIを提供しています。
基本的なモデルを作成します。そして、あなたがそれを行うためにWebクライアントを使用することができます
public class RandomImage
{
public string file { get; set; }
}
を:
public string RandomImage()
{
string result = null;
var apiurl = "http://random.cat";
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(apiurl);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage ResponseMessage = client.GetAsync(apiurl + "/meow").Result; // The .Result part will make this method not async
if (ResponseMessage.IsSuccessStatusCode)
{
var ResponseData = ResponseMessage.Content.ReadAsStringAsync().Result;
var MyRandomImage = JsonConvert.DeserializeObject<RandomImage>(ResponseData);
result = MyRandomImage.file; // This is the url for the file
}
// Return
return result;
}
は、あなたの方法の中から関数を呼び出します。
var MyImage = RandomImage();
Directory.GetFiles()
がするように設計されていますWebアドレスではなくファイルシステム上で使用されます。
This linkあなたが始めるには十分であるはずです。画像の実際のURLがわからないので、parse the page to find itにしてからさらにダウンロードを依頼する必要があります。
特定の時間にあまりにも多くの画像をダウンロードした場合、画像がブロックされる可能性があることに注意してください。
編集:APIを使用していることに気付きました。これにより、すべてが少しシンプルになりました。しかし、それは一時的なものとしてマークされているので、それはあなたがするものです。
前述のとおり、HttpClientを使用する必要があります。私はすべてのファイルをリストするための方法を知らないが、これはサイトをホストしているWebサーバーにも設定する必要がある。
ありがとうございます!それは、私の問題は何だった! – LordOsslor