asp中 删除路径存入数据库中的图片文件
我写了如下代码,但只能删除路径,不能删除图片<%prefile=session("prefile")datatype=request.QueryString("type"...
我写了如下代码,但只能删除路径,不能删除图片
<%
prefile=session("prefile")
datatype=request.QueryString("type")
sql1="select data from "&datatype&" where id="& request("id")
rs.open sql1,conn,3,2
If rs("data")<>"" Then
Set file=server.CreateObject("Scripting.FileSystemObject")
File.DeleteFile Server.MapPath(rs("data"))
End If
sql="delete * from "&datatype&" where id="& request("id")
conn.execute(sql)
conn.close
response.Write "<script>alert('删除成功');window.location.href='"&prefile&"'; </script>"
%>
我的思路是先读出文件路径,删除文件,在删除数据库里的路径,不知道行不行,望高手指点。谢谢
做了修改,代码如下,还是不能删除文件,到底哪里出错了?望高手指点!
<%
prefile=session("prefile")
id=request.QueryString("id")
datatype=request.QueryString("type")
sql1="select pic from "&datatype&" where id="& request("id")
Set rs=server.CreateObject("adodb.recordset")
rs.open sql1,conn,3,2
Set file=server.CreateObject("Scripting.FileSystemObject")
File.DeleteFile Server.MapPath("../"&pic&""),true
%>
<%sqlstr="delete * from "&datatype&" where id="&id
conn.execute(sqlstr)
conn.close
response.Write "<script>alert('删除成功');window.location.href='"&prefile&"'; </script>"
%> 展开
<%
prefile=session("prefile")
datatype=request.QueryString("type")
sql1="select data from "&datatype&" where id="& request("id")
rs.open sql1,conn,3,2
If rs("data")<>"" Then
Set file=server.CreateObject("Scripting.FileSystemObject")
File.DeleteFile Server.MapPath(rs("data"))
End If
sql="delete * from "&datatype&" where id="& request("id")
conn.execute(sql)
conn.close
response.Write "<script>alert('删除成功');window.location.href='"&prefile&"'; </script>"
%>
我的思路是先读出文件路径,删除文件,在删除数据库里的路径,不知道行不行,望高手指点。谢谢
做了修改,代码如下,还是不能删除文件,到底哪里出错了?望高手指点!
<%
prefile=session("prefile")
id=request.QueryString("id")
datatype=request.QueryString("type")
sql1="select pic from "&datatype&" where id="& request("id")
Set rs=server.CreateObject("adodb.recordset")
rs.open sql1,conn,3,2
Set file=server.CreateObject("Scripting.FileSystemObject")
File.DeleteFile Server.MapPath("../"&pic&""),true
%>
<%sqlstr="delete * from "&datatype&" where id="&id
conn.execute(sqlstr)
conn.close
response.Write "<script>alert('删除成功');window.location.href='"&prefile&"'; </script>"
%> 展开
展开全部
恕我直言,这段程序写得不好,没有防注入,也不够优化,先说重点吧:
在rs.open sql1,conn,3,2这句后面加两句:
Response.Write Server.MapPath(rs("pic"))
Response.End
执行一下,看输出的图片路径跟实际的是不是一样。
在rs.open sql1,conn,3,2这句后面加两句:
Response.Write Server.MapPath(rs("pic"))
Response.End
执行一下,看输出的图片路径跟实际的是不是一样。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把文件名传到数据库啊
直接删除那个文件夹下的 文件
再删除数据库的那条记录
<%
Set fs =Server.CreateObject("Scripting.FileSystemObject")
fs.DeleteFile "e:\ss.txt",true ’%>
直接删除那个文件夹下的 文件
再删除数据库的那条记录
<%
Set fs =Server.CreateObject("Scripting.FileSystemObject")
fs.DeleteFile "e:\ss.txt",true ’%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个思路是没有问题。看你是不是在读取文件路径的时候出了问题,你用Response.Write Server.MapPath(rs("data"))
Response.End
看看有没有路径就知道了。
如果有的话。
File.DeleteFile Server.MapPath(rs("data")),True '加个true
Response.End
看看有没有路径就知道了。
如果有的话。
File.DeleteFile Server.MapPath(rs("data")),True '加个true
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询