如果你想使用WebClient
,那麼你必須從WebClient.ResponseHeaders
提取頭信息。您必須先將其存儲爲字節數組,然後在獲取文件信息後保存該文件。
string url = @"http://redsox.tcs.auckland.ac.nz/CSS/CSService.svc/";
string saveLoc = @"/project1/home_image";
using (WebClient wc = new WebClient())
{
byte[] fileBytes = wc.DownloadData(url);
string fileType = wc.ResponseHeaders[HttpResponseHeader.ContentType];
if (fileType != null)
{
switch (fileType)
{
case "image/jpeg":
saveloc += ".jpg";
break;
case "image/gif":
saveloc += ".gif";
break;
case "image/png":
saveloc += ".png";
break;
default:
break;
}
System.IO.File.WriteAllBytes(saveloc, fileBytes);
}
}
我喜歡我的擴展名爲3個字母,如果他們可以....個人喜好。如果它不打擾你了,你可以用更換整個switch
聲明:
saveloc += "." + fileType.Substring(fileType.IndexOf('/') + 1);
使代碼有點整潔。
您需要提供文件名,路徑爲「@」/ project1/home_image/Someimage.png「' – Nilesh
雖然我不知道擴展名,但這是我需要查明的,以便我可以將其保存正確的。 –
您需要從響應的標題中獲取MIME類型,將其映射爲擴展名並使用它。不幸的是,'WebClient'是太高層次的方法,無法讓您訪問標題。 –