首页 新闻 会员 周边

网络图片上传怎么写,也就是输入一个网络图片网址就能下载这个图片并存到服务器端

0
悬赏园豆:15 [待解决问题]

前台一个input text 文本框,通过ajax 传到ajax 的后台接收到一个图片网址,然后后台就可以对这个图片的网址进行处理然后就直接拷下来存到服务器端的某一个文件夹里面返回一个服务端的该图片路径

半路使者的主页 半路使者 | 初学一级 | 园豆:41
提问于:2012-11-08 15:50
< >
分享
所有回答(4)
0
  WebRequest request = WebRequest.Create(Url);
                WebResponse response = request.GetResponse();
                Stream reader = response.GetResponseStream();
                FileStream writer = new FileStream(@"c:\c.jpg", FileMode.OpenOrCreate, FileAccess.Write);
                byte[] buff = new byte[512];
                int c = 0;  
                while ((c = reader.Read(buff, 0, buff.Length)) > 0)
                {
                    writer.Write(buff, 0, c);
                }
                writer.Close();
                writer.Dispose();

                reader.Close();
                reader.Dispose();
                response.Close();
死白的man | 园豆:2135 (老鸟四级) | 2012-11-08 16:01

远程服务器返回错误: (403) 已禁止。

图片地址是   http://t2.baidu.com/it/u=3409125269,3392315063&fm=25&gp=0.jpg

也就是百度上搜索出来的图片带参数好像就不能下载跳错。

错误的地方

 错误代码   WebResponse response = request.GetResponse();  错误信息  远程服务器返回错误: (403) 已禁止

支持(0) 反对(0) 半路使者 | 园豆:41 (初学一级) | 2012-11-23 10:21
0

楼上可以实现

jason2013 | 园豆:1998 (小虾三级) | 2012-11-08 16:18
0
WebClient client = new WebClient();

            byte[] bytes = client.DownloadData("http://hiphotos.baidu.com/atelans/pic/item/c7c7dbf5b2306f69d8f9fd17.jpg");
            MemoryStream ms = null;
            Bitmap bitmap = null;
            try
            {
                ms = new MemoryStream(bytes);
                bitmap = new Bitmap(ms);
                bitmap.Save(@"e:\test.jpg", ImageFormat.Jpeg);
            }
            catch (Exception ee)
            {
                Console.WriteLine(ee.ToString());
            }
            finally
            {
                if (bitmap != null) bitmap.Dispose();
                if (ms != null) ms.Dispose();
            }

一段示例代码,在console下运行的,你可以放到web中试试,添加相关的.net程序集

chenping2008 | 园豆:9836 (大侠五级) | 2012-11-08 16:21

你的哪个图片地址是可以下载的,但是从百度上搜索出来的图片就是不可以下载的,

http://t2.baidu.com/it/u=3409125269,3392315063&fm=25&gp=0.jpg

这是一张百度图片地址和你个图片地址替换一下也会出现错误   错误信息是    远程服务器返回错误: (403)

 不知道这是为什么  总是提示这个信息  气死了

支持(0) 反对(0) 半路使者 | 园豆:41 (初学一级) | 2012-11-23 10:41
0

用的是第三方控件实现的。

jerry-Tom | 园豆:4077 (老鸟四级) | 2012-11-09 10:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册