C# 从web目录获取文件
我只想从C# 从web目录获取文件,c#,getfiles,C#,Getfiles,我只想从http://random.cat/,所以我想使用Directory.GetFiles或类似的方法对它们进行索引,但这不起作用。那么除了http://random.cat/i(我想这是存储图像的地方) 提前谢谢 您没有访问图像数据库的权限,但它们提供了一个每次检索一张图像的api 创建基本模型: public class RandomImage { public string file { get; set; } } 然后,您可以使用WebClient执行以下操作: publi
http://random.cat/
,所以我想使用Directory.GetFiles
或类似的方法对它们进行索引,但这不起作用。那么除了http://random.cat/i
(我想这是存储图像的地方)
提前谢谢 您没有访问图像数据库的权限,但它们提供了一个每次检索一张图像的api 创建基本模型:
public class RandomImage
{
public string file { get; set; }
}
然后,您可以使用WebClient执行以下操作:
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;
}
Directory.GetFiles()
设计用于文件系统,而不是web地址
应该足够让你开始了。由于您不知道图片的实际URL,因此必须先下载,然后再进一步请求下载
请注意,如果您在特定时间内下载了太多图像,它们可能会阻止您
编辑:我刚才注意到他们有一个API,这使一切都变得简单了一点。但是它被标记为临时性的,所以您可以使用它。如前所述,您必须使用HttpClient。我不知道列出所有文件的任何方法,但这也需要在承载网站的web服务器中设置。非常感谢!那就是我的问题所在!
var MyImage = RandomImage();