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

ASP
一个ASP版的图片浏览管理器
无组件上传图片至SQLSERVER数据库
利用Jmail.Message发送邮件
用Web页面执行客户端程序
多图片上传到指定的目录并存到数据库
dreamweaverMX通用分页代码研究
下拉菜单输入,根据输入内容自动定位
中文的无组件文件上传ASP函数
一个利用adsi得到局域网信息的asp文件
根据需要动态include不同的文件
让自定义文件下载支持断点续传
用数组实现数据记录的批量录入方法
上传的进度条 实时反映上传情况
用ASP动态生成javascript的表单验证代码
ASP 编程中20个非常有用的例子
ASP生成Word文档的又一方法
用asp解析图片地址,并将其保存。
利用ASP的文件操作实现用户管理
创建 Visual Basic COM 组件在 ASP 中使用
调试 ASP 中使用的 Visual Basic COM 组件

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 159 ::
收藏到网摘: 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