asp删除字段里的多张图片。
字段content,里面的图片格式是<imgsrc="UploadFiles/201409172200444.jpg",多图多字混合,想删除数据时,同时删除里面的图片。<...
字段content ,里面的图片格式是<img src="UploadFiles/201409172200444.jpg",多图多字混合,想删除数据时,同时删除里面的图片。<a href="99998.asp?id=<%=ru("id")%>>删除</a>
网上下了个
<%
Set fso=server.CreateObject("scripting.filesystemobject")
set res=SerVer.CreateObject("Adodb.recordset")
res.open "select connet from usernews where id="&request("id"),conn,1,1
x=res("connet")
img=split(x,"<img")
for i=1 to ubound(img)
if instr(img(i),".jpg")>0 then filetype=".jpg"
if instr(img(i),".gif")>0 then filetype=".gif"
start=instr(img(i),"src=")+4
filename=mid(img(i),start,instr(img(i),filetype)-start)&filetype
if fso.FileExists(server.mappath(FileName)) then fso.DeleteFile (server.mappath(FileName))
next%>
错误类型:
Server.MapPath(), ASP 0173 (0x80004005)
在 MapPath 方法的路径参数中指定了无效字符。
/del.asp, 第 13 行 展开
网上下了个
<%
Set fso=server.CreateObject("scripting.filesystemobject")
set res=SerVer.CreateObject("Adodb.recordset")
res.open "select connet from usernews where id="&request("id"),conn,1,1
x=res("connet")
img=split(x,"<img")
for i=1 to ubound(img)
if instr(img(i),".jpg")>0 then filetype=".jpg"
if instr(img(i),".gif")>0 then filetype=".gif"
start=instr(img(i),"src=")+4
filename=mid(img(i),start,instr(img(i),filetype)-start)&filetype
if fso.FileExists(server.mappath(FileName)) then fso.DeleteFile (server.mappath(FileName))
next%>
错误类型:
Server.MapPath(), ASP 0173 (0x80004005)
在 MapPath 方法的路径参数中指定了无效字符。
/del.asp, 第 13 行 展开
3个回答
展开全部
你想连图片一起删除的话,
我就说说步骤吧,
先提取出content里的图片地址,
通过fso删除图片路径里的图片文件,
再删除这条数据,这样就行了。
给出一段提取图片地址的代码,,,是我刚学的时候,遇到问题,别人给我的。
<%
'如何过滤图片的函数 function find_img(strtemp)
'版权没有,任意抄写,注意完整,有问题+QQ:105187501
'测试环境 WIN2K3 IIS6.0+ASP BY [GRKZ]sean
'测试时间 2006-7-7 下午(没有风扇的情况下-_-!!通过测试)
strtemp="ssss<img alt=""sss"" src=""http://www.test.com/test.jpg"" /><img alt=""sss"" src=""http://www.test.com/test.png"" /><img alt=""sss"" src=""http://www.test.com/test.bmp"" /><img alt=""sss"" src=""http://www.test.com/test.gif"" />ddddddddddssss<img src=""http://www.test.com/test2.gif"" alt=""sss"" />dddddddddd"
find_img(strtemp)
function find_img(strtemp)
dim arrtemp
dim i,url_gif,num_gif,url_jpg,num_jpg,url_png,num_png,url_other,num_other
arrtemp=split(strtemp,"<img")
if Ubound(arrtemp)<=0 then response.Write "没有检测到图片标识" : exit function
response.Write "一共检测到图片标识数量:"&Ubound(arrtemp)&"<br>"
for i=1 to Ubound(arrtemp)
temp=cutstr(cutstr(cutstr(arrtemp(i),"right"," />"),"left","src="""),"right","""")
ext=Ucase(right(temp,4))
select case ext
case ".GIF"
url_gif = url_gif&"|"&temp
num_gif = num_gif + 1
case ".JPG"
url_jpg = url_jpg&"|"&temp
num_jpg = num_jpg + 1
case ".PNG"
url_png = url_png&"|"&temp
num_png = num_png + 1
case else
url_other = url_other&"|"&temp
num_other = num_other + 1
end select
next
response.Write "<font color=green>返回统计:</font><br>"
response.Write "<hr><font color=blue>1)过滤GIF格式图片共"&num_gif&"张</font><br>"&replace(url_gif,"|","<br>")
response.Write "<hr><font color=blue>2)过滤JPG格式图片共"&num_jpg&"张</font><br>"&replace(url_jpg,"|","<br>")
response.Write "<hr><font color=blue>3)过滤PNG格式图片共"&num_png&"张</font><br>"&replace(url_png,"|","<br>")
response.Write "<hr><font color=blue>4)其他格式图片(BMP格式等)共"&num_other&"张</font><br>"&replace(url_other,"|","<br>")
end function
function cutstr(temp,direct,str)
if direct="right" then '剪去标识符右边的内容(包括标识符)
cutstr = left(temp,instr(temp,str)-1)
else '剪去标识符左边的内容(包括标识符)
cutstr = right(temp,len(temp)-instr(temp,str)-len(str)+1)
end if
end function
%>
上面的代码,提取,会有一个数,然后,做一个循环,循环里就做删除动作,做完后,跳出循环,执行下一步,删除数据。
追问
有完整的吗?一部分不知道怎么加进去。
展开全部
......略
filename=mid(img(i),start,instr(img(i),filetype)-start)&filetype
response.write filename '新加代码
response.End '新加代码
if fso.FileExists(server.mappath(FileName)) then fso.DeleteFile (server.mappath(FileName))
next%>
加上二行代码后,看看网页上实际显示的是什么?
filename=mid(img(i),start,instr(img(i),filetype)-start)&filetype
response.write filename '新加代码
response.End '新加代码
if fso.FileExists(server.mappath(FileName)) then fso.DeleteFile (server.mappath(FileName))
next%>
加上二行代码后,看看网页上实际显示的是什么?
更多追问追答
追问
显示:
"UploadFiles/201409172200444.jpg
多图时也就显示这一个
追答
是"UploadFiles/201409172200444.jpg的话,前面就多了个双引号
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-09-18
展开全部
都发生过的收费广场需不需成本
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询