gpt4 book ai didi

c# - 如何从远程 url 获取有效的文件名和扩展名以保存它。?

转载 作者:太空宇宙 更新时间:2023-11-03 19:27:48 25 4
gpt4 key购买 nike

我想从远程 url 获取实际的文件扩展名。

有时扩展名不是有效格式。

例如
我从下面的网址中遇到问题

1) http://tctechcrunch2011.files.wordpress.com/2011/09/media-upload.png?w=266
2) http://0.gravatar.com/avatar/a5a5ed70fa7c651aa5ec9ca8de57a4b8?s=60&d=identicon&r=G

我想从远程 url 下载/保存远程图像..

如何从上面的url获取文件名和扩展名?

谢谢
阿比舍克

最佳答案

远程服务器发送一个包含资源 mime 类型的 Content-Type header 。例如:

Content-Type: image/png

因此您可以检查此 header 的值并为您的文件选择正确的扩展名。例如:

WebRequest request = WebRequest.Create("http://0.gravatar.com/avatar/a5a5ed70fa7c651aa5ec9ca8de57a4b8?s=60&d=identicon&r=G");
using (WebResponse response = request.GetResponse())
using (Stream stream = response.GetResponseStream())
{
string contentType = response.ContentType;
// TODO: examine the content type and decide how to name your file
string filename = "test.jpg";

// Download the file
using (Stream file = File.OpenWrite(filename))
{
// Remark: if the file is very big read it in chunks
// to avoid loading it into memory
byte[] buffer = new byte[response.ContentLength];
stream.Read(buffer, 0, buffer.Length);
file.Write(buffer, 0, buffer.Length);
}
}

关于c# - 如何从远程 url 获取有效的文件名和扩展名以保存它。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7280885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com