安大互联
财经热点 > Asp编程 > 把当前web页面上的所有图片复制到特定目录
把当前web页面上的所有图片复制到特定目录
浏览次数:【844】  发布日期:2009-8-13 12:09:22    文章分类:Asp编程   
专题:】 【
 
 

把当前web页面上的所有图片复制到特定目录,好比C:\imgs\

转载请注明:作者:糯米糊糊(huyoo353),来源:http://blog.csdn.net/huyoo/

MoreQuick回复:
thank,我也不是很精通这方面,不过插件可以用vbscript写的
麻烦你贴代码到论坛上,看是否有人会
thanks!

-- Previous Private Message --
Sent by : edward
Sent : 2005-03-18 at 7:53pm

MoreQuick 你好,我自己编了一个复制Cache图片的插件,原来是用VBscript写的,我把它加入了我的右键菜单,执行的时候,能够把 当前页面在Cache缓存中的图片复制到C:\Imgs\中去.

可是做成插件形式就不能够执行了.
后来询问Waywang之后,他说务必要JS的,所以又改成JavaScript的,可是脚本犯错.我想请你有时间的话,自己或 者请一个高手帮我改改.

以前也给GB写过一点容易的插件,这回的如果做出来了也是对大家的贡献~~~
------------------------
附上源文件:
-------------
<Script language="JavaScript">
//
//*******************请保存此信息****************
//*                                             *
//*    由Edward(糯米糊糊就是我)倾情制作于2004年11月29日         *
//*    有问题请联系huyoo353@126.com             *
//*    希望所有的GB爱好者使用方便!!!!                *
//*                                             *
//*******************请保存此信息****************
//

转载请注明:作者:糯米糊糊(huyoo353),来源:http://blog.csdn.net/huyoo/

var imgs = document.images;

var counter,err=0;

var cachefolder,tempimgs ;    //定义JPG文件所在的IE缓存文件夹,要复制到的临时目标文件夹
//////////////////////////////////////////////////////////// //////////////////////////
//设置文件夹路径
//严重注意:这是你有必要更改的两个地方!!!
//一般这两个文件夹是IE存放临时文件的地方,如下:
var cachefolder1="D:\\Documents and Settings\\huzi\\Local Settings\\Temporary Internet Files\\";   //我的IE临时文件夹地址,请改为你自己的
var cachefolder2="D:\\Documents and Settings\\huzi\\Local Settings\\Temp\\Temporary Internet Files\\";   //我的IE临时文件夹地址,请改为你自己的
//////////////////////////////////////////////////////////// ///////
tempimgs="C:\\Imgs\\" ; //我把JPG图像复制到我自己的C:\\imgs\\,请改为你自己喜欢的
var logfile; //定义记录文件对象
var m_objFSO = new ActiveXObject("Scripting.FileSystemObject");

call CreateLogFileAndTempFolder();//建立记录文件和临时文件夹
call CopyCachePicToTempFolder();//把缓存中的图片复制到临时文件夹tempimgs

if( err!=0 )
{
     logfile.writeline ( "发生错误" );
}
//设置图像对象集合

 转载请注明:作者:糯米糊糊(huyoo353),来源:http://blog.csdn.net/huyoo/

function CreateLogFileAndTempFolder()
{
     ////////如果临时文件夹不存在,就建立它

    if m_objFSO.FolderExists(tempimgs)
    {
    }
    else
    {
       m_objFSO.CreateFol der(tempimgs) ;       
     }

    //如果记录文件zcopylog.txt不存在,就建立记录文件
     logfile=tempimgs & "zcopylog.txt"
    if m_objFSO.FileExists(logfile) then
        logfile=m_objFSO.OpenTextFile( logfile,8,0);//在文件末尾追加
    else
        logfile=m_objFSO.CreateTextFil e(logfile,true)
    }
    logfile.writeline( location );
    logfile.writeline( "\n\r" );
/////////////////////////////////////////////////////////
}

转载请注明:作者:糯米糊糊(huyoo353),来源:http://blog.csdn.net/huyoo/
function CopyCachePicToTempFolder()
{
     if( err!=0)
     {
       logfile.writeline( "发生错误" );
     }
     else
     {
       var objDir,objFolder, objFile;
      
       objFolder = m_objFSO.GetFolder(cachefolder2);
       call SearchIETemp(objFolder.Path);
      
       objFolder = m_objFSO.GetFolder(cachefolder1);
       call SearchIETemp(objFolder.Path);
       logfile.writeline "已经复制了" & counter & "张图片";
       logfile.writeline "复制完毕!!!!!!!" ;
       
     }
     
} 转载请注明:作者:糯米糊糊(huyoo353),来源:http://blog.csdn.net/huyoo/

function SearchIETemp(var strIETempPath)
{
     
    var objFolder;       //文件夹对象
    var objFile;        //文件对象
    var objSubdirs;      //文件夹集合对象
    var objLoopFolder;   //文件夹对象
    var finalname;

    objFolder = m_objFSO.GetFolder(strIETempPath) ;
     
    logfile.writeline( "In Sub SearchIETemp ,objFolder is :"+ objFolder.Path);
    for ( objFile In objFolder.Files)
    {
               logfile.writeline( objFile.ShortPath );
               var len=objFile.ShortPath.length;
        if( objFile.ShortPath.substring(len-4, len)).toUpperCase() == ".JPG" )
        {
                  
            for(var i=0;i<imgs.length;i++)
            {

                logfile.writeline( imgs.length );
                pos=imgs.src.lastIndexOf("/");
                fileName =imgs.src.substring(pos+1,imgs.src.length-pos);
                finalname = fileName;
                pos= fileName.indexOf(".");
                fileName = fileName.substr(0,pos-1)+"[1]"+fileName.substr(fileName.length,fileName.length-pos+1);
                logfile.writeline( filename );

             if (filename==objFile.Name )
              {
                m_objFSO.CopyFile( objFile.Path, tempimgs + finalname);
                counter++;
                logfile.writeline( imgs.src);
             }
           }
               
        }
    }

    var objSubdirs = objFolder.SubFolders;
     
    for ( objLoopFolder In objSubdirs)
    {
        SearchIETemp(objLoopFolder.Path);
    }
}

</script>

上面的还有许多VBscript的句法,我没有改过来,反正就是利用循环查找IE临时文件夹(这个还是到CSDN上问到的)中的 JPG图片来工作的.

希望熟悉Javascript的大侠,帮我改改~~~

__________________
容易的简单,艰难的困难。
欢迎访问我的Blog:http://blog.csdn.net/huyoo 
--------------------------------------------------------------------------------
 
只有人看,没有人回答,看来高手没有时间,新手没有技能啊~~~

手机扫码浏览该文章
 ● 相关资讯专题
  • 网络建设业务咨询

   TEl:13626712526