当前位置: 首页 > 图文教程 > 网络编程 > ASP > 保存远程图片函数修改正版

ASP
Dom遍历XML的一个例子,结果为树状结构
[原创]如何回到先前的页面的方法多中语言
几个经典的ASP应用
pjblog实现类似CMS的首页调用
PJblog友情链接LOGO地址失效的解决
ASP程序给上传的图片增添水印效果!
127.0.0.1无法访问,没有权限: GetObject
PJBLOG使用技巧
ASP数据库连接方式大全
ASP辅助代码
垃圾引用防治补丁以及发送引用修正补丁的自动安装程序
发一个采集(小偷)用的类,ASP+缓存实现
利用ASPUPLOAD,ASPJPEG实现图片上传自动生成缩略图及加上水印
后台管理登录篇-asp设计与数据库
使用Flash DownLoad编写采集器(之突破防盗连下载音乐文件)
[原创]随机增加网站点击的一个不错的方法
javascript asp教程第二课--转义字符
javascript asp教程第三课 new String() 构造器
javascript asp教程第六课-- response方法
简单的ASP中经常用到的代码[推荐]

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 161 ::
收藏到网摘: n/a

趁今天有空,修正了一下这个函数,经测试,在本地服务器通过,在空间商服务器也可正常使用,没发现错误。我的卡巴斯基不报毒了。^_^
只要修改一下,这个函数是放在哪个网站都适用的。在此只与添加图片为例说明一下调用方法,其它位置方法类似。
在我本机测试成功,由于现在连不上空间的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="/upload/tech/20091012/20091012011659_45645a27c4f1adc8a7a835976064a86d.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