如何获取网络图片数据?

mendel 2009-12-11 04:43:03
得到byte[]后保存在数据库的image字段中
...全文
465 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
海涛zht666 2011-01-14
  • 打赏
  • 举报
回复
不好意思,刚刚回复复错了
Image myImg = Image.FromStream(WebRequest.Create("网络地址,如http://...").GetResponse().GetResponseStream());
海涛zht666 2011-01-14
  • 打赏
  • 举报
回复
public static void DownloadFileByURL(string fileName, string url, string localPath)
{
System.Net.HttpWebRequest request = null;
System.Net.HttpWebResponse response = null;
request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url + fileName);
response = (System.Net.HttpWebResponse)request.GetResponse();
Stream s = response.GetResponseStream();
BinaryReader br = new BinaryReader(s);
int l= Int32.Parse(response.ContentLength.ToString());
byte[] byteArr = new byte[l];
s.Read(byteArr, 0, l);
if (File.Exists(localPath + fileName)) { File.Delete(localPath + fileName); }
if (Directory.Exists(localPath) == false) { Directory.CreateDirectory(localPath); }
FileStream fs = File.Create(localPath + fileName);
fs.Write(byteArr, 0, length2);
fs.Close();
br.Close();
}
wuyq11 2009-12-11
  • 打赏
  • 举报
回复
public static void DownloadFileByURL(string fileName, string url, string localPath)
{
System.Net.HttpWebRequest request = null;
System.Net.HttpWebResponse response = null;
request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url + fileName);
response = (System.Net.HttpWebResponse)request.GetResponse();
Stream s = response.GetResponseStream();
BinaryReader br = new BinaryReader(s);
int l= Int32.Parse(response.ContentLength.ToString());
byte[] byteArr = new byte[l];
s.Read(byteArr, 0, l);
if (File.Exists(localPath + fileName)) { File.Delete(localPath + fileName); }
if (Directory.Exists(localPath) == false) { Directory.CreateDirectory(localPath); }
FileStream fs = File.Create(localPath + fileName);
fs.Write(byteArr, 0, length2);
fs.Close();
br.Close();
}
wuyq11 2009-12-11
  • 打赏
  • 举报
回复
WebClient wc = new WebClient();
wc.DownloadFile( "http://www.a.com/logo.gif ", "c:\\a.gif ");
hhc123 2009-12-11
  • 打赏
  • 举报
回复
Image.FromStream();这个懂吧,
mendel 2009-12-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zetee 的回复:]
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://c.csdn.net/bbs/t/5/i/pic_logo.gif");
            try
            {
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                Stream sm = response.GetResponseStream();
                MemoryStream  ms=new MemoryStream();
                byte[] buffer = new byte[4096];
                int len;

                len = sm.Read(buffer, 0, 4096);
                while (len>0)
                {
                    ms.Write(buffer, 0, len);                    len=sm.Read(buffer, 0, 4096);
                   
                }


              // 创建连接
                SqlConnection conn=new SqlConnection(ConnectionString);
                SqlCommand com=conn.CreateCommand();

                com.CommandText="Update 表 Set [图片]=@F Where ID='0001'";
                com.CommandType=CommandType.Text;

                SqlParameter sp=new SqlParameter("@F",SqlDbType.Image,ms.GetBuffer().Length,ParameterDirection.Input,false,0,0,null,DataRowVersion.Current,ms.GetBuffer());

                com.Parameters.Add(sp);
                com.ExecuteNonQuery();
                conn.Close();

            }
            catch (WebException ex)
            {

                if (ex.Status == WebExceptionStatus.NameResolutionFailure)
                {
                    //域名无法解析
                }
            }
[/Quote]

这个是sm?
zetee 2009-12-11
  • 打赏
  • 举报
回复

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://c.csdn.net/bbs/t/5/i/pic_logo.gif");
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

Stream sm = response.GetResponseStream();
MemoryStream ms=new MemoryStream();
byte[] buffer = new byte[4096];
int len;

len = sm.Read(buffer, 0, 4096);
while (len>0)
{
ms.Write(buffer, 0, len);
len=sm.Read(buffer, 0, 4096);

}




// 创建连接
SqlConnection conn=new SqlConnection(ConnectionString);
SqlCommand com=conn.CreateCommand();

com.CommandText="Update 表 Set [图片]=@F Where ID='0001'";
com.CommandType=CommandType.Text;

SqlParameter sp=new SqlParameter("@F",SqlDbType.Image,ms.GetBuffer().Length,ParameterDirection.Input,false,0,0,null,DataRowVersion.Current,ms.GetBuffer());

com.Parameters.Add(sp);
com.ExecuteNonQuery();
conn.Close();

}
catch (WebException ex)
{

if (ex.Status == WebExceptionStatus.NameResolutionFailure)
{
//域名无法解析
}
}
卧_槽 2009-12-11
  • 打赏
  • 举报
回复
httpwebrequest请求url得到responsestream就是byte[]
存到数据库里就行了

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧