做新闻编辑的时候,复制了别人网上的图片和内容,内容中的链接都是外部链接,想把图片自动下载到自己的服务器,怎么实现?
javascript中的可以获得网页中的所有图片,链接等,.NET有没有这样的类?

解决方案 »

  1.   

    分析html标签,找<img src 用正则
      

  2.   

    <table id='tab'>
    <tr>
    <td><img ../><td><td><img ../><td>...
    </tr>
    </table>tab.getElementsByTagName("IMG")
      

  3.   

    可以用js分析出所有路径后,放在一个server端的hidden中,然后后台读取其值并下载你的指定目录
      

  4.   

    using mshtml;  这个要你手动添加引用出来 仔细找找。名字我一下也记不得了然后 获得Ihtmldocument2 接口     IHTMLDocument2 doc = new HTMLDocumentClass();
         doc.write(new object[] { html });
          doc.close();
    再然后就和你用javascript类似了        foreach (IHTMLImgElement image in doc.images)
            {
                IHTMLElement element = (IHTMLElement)image;
                string src = (string)element.getAttribute("src", 2);
                if (src != null)
               {
            //读出属性 这个你没有问题吧?
                   }
          }
      

  5.   

    foreach (IHTMLImgElement image in doc.images)
            {
                IHTMLElement element = (IHTMLElement)image;
                string src = (string)element.getAttribute("src", 2);
                if (src != null)
               {
            附加一下,路径有可能是相对路径 所以这里面你要再构造一个完整的图片路径才能下载。           执行下载图片方法(src);               }
          }
      

  6.   

    用正则啦!
    我把以前用过的代码贴在BLOG上了,应该直接拿来用没问题的
    http://blog.csdn.net/ericfine/archive/2007/05/25/1624976.aspx
      

  7.   

    用js读取img图片的src的集合 赋值给一个 隐藏框<input type=hidden id=imgList runat=server />  然后 在 遍历 这个 隐藏框的值用
    HttpWebResponse resp;
            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://www.csdn.net/Images/logo_csdn.gif");
            req.Timeout = 150000;
            resp = (HttpWebResponse)req.GetResponse();
            System.Drawing.Image img;
            img = new System.Drawing.Bitmap(resp.GetResponseStream());
    img.Save()//保存....
      

  8.   

    这个不错,结合下http://blog.csdn.net/ericfine/archive/2007/05/25/1624976.aspx
      

  9.   

    如果要求不是很高的话,用eWebEditor编辑器,它带远程文件自动上传功能
      

  10.   

    eWebEditor不是免费的吧,公司肯定不会掏钱的!