作家
登录

保存远程图片函数修改正版

作者: 来源:www.28hudong.com 2013-03-30 09:04:04 阅读 我要评论

趁今天有空,修正了一下这个函数,经测试,在本地服务器通过,在空间商服务器也可正常使用,没发现错误。我的卡巴斯基不报毒了。^_^ 只要修改一下,这个函数是放在哪个网站都适用的。在此只与添加图片为例说明一下调用方法,其它位置方法类似。 在我本机测试成功,由于现在连不上空间的FTP,所以无办在空间上测试,发现问题请到群中提出。 一、把下面函数放到Ft_admin_conn.asp的最后 '================================== '=函 数 名:saveimgfile '=功 能: 保存远程图片 '=参数说明:imgfileurl--远程图片地址 '=修改日期: 2006-4-19 13:20 '=程序作者:冷风 '=网 站:http://www.4fnet.com.cn '================================== function saveimgfile(imgfileurl) dim img_type,savepath,imgfiletype,flag,imgbody savepath="../FUploadFile/"&year(now())&"-"&month(now()) flag=false imgfiletype=right(imgfileurl,4)'获取远程图片的格式 img_type=".gif|.bmp|.jpg|.png"'设置允许保存在本地的图片格式 typeArr=split(img_type,"|") for i=0 to ubound(typeArr)-1 if imgfiletype=typeArr(i) then flag=true exit for end if next if flag=false then'如果不是允许保存到本地的图片格式,则只连接远程图片 saveimgfile=imgfileurl else set xml_http=server.createobject("microsoft.xmlhttp") xml_http.open "get",imgfileurl,false xml_http.send imgbody=xml_http.responsebody set xml_http=nothing serverpath=server.mappath(savepath) set filefolder=server.createobject("scripting.filesystemobject") if filefolder.folderexists(serverpath)=false then filefolder.createfolder(serverpath) end if randomize savepath=savepath&"/"&year(now())&month(now())&day(now())&hour(now())&minute(now())&int(10*rnd)&imgfiletype set adodbs=server.createobject("adodb.stream") adodbs.open adodbs.type=1 adodbs.write imgbody adodbs.savetofile(server.mappath(savepath))'保存到本地 adodbs.seteos set adodbs=nothing if filefolder.fileexists(server.mappath(savepath))=false then '如果保存成功,即返回远程地址,只作远程连接,避免一些防盗连网站不能保存 saveimgfile=imgfileurl else savepath=replace(savepath,"../","") saveimgfile=savepath end if set filefolder=nothing end if end function 二、打开admin/admin_pic.asp文件 1、找到:添加图片过程中的 pic_pic=checksql("缩略图片地址",request.form("pic"),1,100) (大概在第368行)在下面插入代码: if left(pic_url,7)="http://" and request.form("save")="true" then pic_url=saveimgfile(pic_url) pic_pic=pic_url end if   再找到:<input type="submit" name="Submit" value="确定新增"> (大概在第481行)插入以下代码:    <input type="checkbox" name="save" value="true">同时保存远程图片 2、在编辑图片过程(editpic)中的相同地方添加相应的代码即可。 ok,完工 希望大家能举一返回,其它用到图片的地方也是一样的调用方法。 欢迎光临本站:http://www.4fnet.com.cn

  推荐阅读

  禁止站外提交表单

使用asp尽量减少服务器端的工作量,这样就应该多使用javascript,把所有提交字段使用javascript或vbscript检测后提交给服务器,这样服务器就不必再作检测,而在提交时可能会有人修改script从本地提交,这样存在安全>>>详细阅读


本文标题:保存远程图片函数修改正版

地址:http://www.17bianji.com/kaifa2/ASP/33216.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)