收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 2292|回复: 6

[asp] asp后台删除记录的同时如何删除掉上传的图片?

[复制链接]
发表于 2012-6-21 08:31:59 | 显示全部楼层 |阅读模式
这是删除记录的部分代码,后台可以选择多条记录一起删除
<%
dim Selectid
SelectID = request.Form("SelectID")
...
Case "Products"
...
      Case "删除所选"
            If SelectID<>"" Then conn.Execute "delete from Products where id in ("&SelectID&")"
...
%>

Products这个表里有三个字段smallpic bigpic content里有图片, content里包含的是<img src="/uploadfile/xxxxx.jpg" border="0">,可能有多个这样的图片路径
smallpic,bigpic里包含的是/uploadfile/xxxxx.jpg这样的代码,上传的图片都是保存在uploadfile文件夹里。
请问删除记录的同时,如何删除这些残留在uploadfile里的垃圾图片呀?

补充内容 (2012-6-21 15:59):

set Rs=server.createobject("adodb.recordset")
sql="select * from News where id in ("&SelectID&")"
Rs.open sql,conn,1,3
do while not Rs.eof
DelFile(Rs("Pictures"))
dim picUrl
dim picUrlArray
dim x,y

补充内容 (2012-6-21 16:00):
picUrl = getPicUrl(Rs("Content"))
if picUrl <> "" then
picUrl = left(picUrl,len(picUrl)-1)
picUrlArray = split(picUrl,",")
for x = 0 to ubound(picUrlArray)
if instr(picUrlArray(x),"/uploadfile/") > 0
发表于 2012-6-21 11:34:45 | 显示全部楼层
就是把smallpic bigpic 弄成一个数组 然后调用删除函数 做一个循环delete就行了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-21 15:58:22 | 显示全部楼层
set Rs=server.createobject("adodb.recordset")
sql="select * from News where id in ("&SelectID&")"
Rs.open sql,conn,1,3
do while not Rs.eof
DelFile(Rs("Pictures"))
dim picUrl
dim picUrlArray
dim x,y
picUrl = getPicUrl(Rs("Content"))
if picUrl <> "" then
picUrl = left(picUrl,len(picUrl)-1)
picUrlArray = split(picUrl,",")
for x = 0 to ubound(picUrlArray)
if instr(picUrlArray(x),"/uploadfile/") > 0 then
DelFile(picUrlArray(x))
end if
next
end if
Rs.delete
Rs.movenext
loop
Rs.Close
set Rs=nothing


-------------------------上面部分代码,News表里,字段Pictures里的可以删除,但量Content里的删除不了,Content字段是存放 通过eWebEditor编辑器上传的图片,有多张图片,不知道是代码 问题出在那里?
回复 支持 反对

使用道具 举报

发表于 2012-6-23 12:05:44 | 显示全部楼层
gxiaoyang 发表于 2012-6-21 15:58
set Rs=server.createobject("adodb.recordset")
sql="select * from News where id in ("&SelectID&")"
...

看看分解后的组成的路径是否正确
回复 支持 反对

使用道具 举报

发表于 2012-7-14 11:15:38 | 显示全部楼层
用splite 分割字段内容到数组,循环数组来删除图片
回复 支持 反对

使用道具 举报

发表于 2012-7-14 13:48:45 | 显示全部楼层
既然有“smallpic,bigpic里包含的是/uploadfile/xxxxx.jpg这样的代码”,在删除记录的同时,使用FSO组件删除这些路径对应的文件就可以了
回复 支持 反对

使用道具 举报

发表于 2012-12-8 23:41:15 | 显示全部楼层
contact里面的图片要用到正则了,正则不会,等高手写代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-7-14 13:51 , Processed in 0.093515 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表