62,025
社区成员
发帖
与我相关
我的任务
分享
//WebClient myWebClient = new WebClient();
//myWebClient.DownloadFile(imgpath, savwpath + "/" + imgName);
WebRequest wreq = WebRequest.Create(imgpath);
wreq.Timeout = 10000;
HttpWebResponse wresp = (HttpWebResponse)wreq.GetResponse();
Stream s = wresp.GetResponseStream();
System.Drawing.Image img;
img = System.Drawing.Image.FromStream(s);
switch (imgExt.ToLower())
{
case ".gif":
img.Save(savwpath + "/" + imgName, ImageFormat.Gif);
break;
case ".jpg":
case ".jpeg":
img.Save(savwpath + "/" + imgName, ImageFormat.Jpeg);
break;
case ".png":
img.Save(savwpath + "/" + imgName, ImageFormat.Png);
break;
case ".icon":
img.Save(savwpath + "/" + imgName, ImageFormat.Icon);
break;
case ".bmp":
img.Save(savwpath + "/" + imgName, ImageFormat.Bmp);
break;
}
cssText = cssText.Replace(imgpath, webpath + imgName);
img.Dispose();
s.Dispose();
static void Save()
{
string url = @"http://www.yummy77.com/skin/df3/images/help_tel.gif";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
var bytes = GetResponseBody(response);
using (var writeStream = File.Create("D:/" + Path.GetFileName(url)))
{
writeStream.Write(bytes, 0, bytes.Length);
}
}
private static byte[] GetResponseBody(HttpWebResponse response)
{
byte[] bytes = null;
if (response.ContentEncoding.ToLower().Contains("gzip"))
{
using (GZipStream stream = new GZipStream(response.GetResponseStream(), CompressionMode.Decompress))
{
bytes = GetBytes(stream);
}
}
else if (response.ContentEncoding.ToLower().Contains("deflate"))
{
using (DeflateStream stream = new DeflateStream(response.GetResponseStream(), CompressionMode.Decompress))
{
bytes = GetBytes(stream);
}
}
else
{
using (Stream stream = response.GetResponseStream())
{
bytes = GetBytes(stream);
}
}
return bytes;
}
private static byte[] GetBytes(Stream stream)
{
using (MemoryStream ms = new MemoryStream())
{
byte[] bytes = new byte[40960];
int n;
while ((n = stream.Read(bytes, 0, bytes.Length)) > 0)
{
ms.Write(bytes, 0, n);
}
return ms.ToArray();
}
}
你就给分吧……//根据Request.Files[0].ContentType判断并不是很准确,一般情况下它是对的
//但如果你创建个文本文件,然后将它后缀改成jpg,你会发现上传时它的ContentType就是"image/jpeg"或者 "image/pjpeg"
//但实际上它根本就不是jpg图片,所以按照字节判断才更准确
//byte[] bytes = new byte[2];
//读取图片的第一第二个字节到bytes
//判断string.Format("{0}{1}",bytes[0],bytes[1]);
//255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar