如何在删除文章同时删除文章中的图片

旺旺 2009-01-04 08:13:50
请问,如比在一个文章管理系统中,发表了一篇带有图片的文章之后,当想要删除这篇文章时,而这篇文章所属的图片还保留在网站的图片文件夹目录下,要怎样做到删除文章的同时删除图片。。。,文章是用在线编辑器发表的,不知道如何取出图片的路径,所以我把文章存入数据库时是把整篇文章包括图片路径一起存进去的。。。
请问有谁能够有什么更好的方法吗?谢谢~
...全文
252 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
旺旺 2009-01-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 Fibona 的回复:]
C# code



void delImg(string text)
{
string regStr = @"<img(?<Attributes1>[\s\S]*?)src=(""{1}|'{1}|)(?<picture>[^\[^>]*?(gif|jpg|jpeg|bmp|bmp))(""{1}|'{1}|)(?<Attributes2>[\s\S]*?)>";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regStr, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpre…
[/Quote]

嗯~太强了~太谢谢你了~
是时候结帐了~
niitnanfeng 2009-01-04
  • 打赏
  • 举报
回复
顶,楼上的正则好强。
Fibona 2009-01-04
  • 打赏
  • 举报
回复




void delImg(string text)
{
string regStr = @"<img(?<Attributes1>[\s\S]*?)src=(""{1}|'{1}|)(?<picture>[^\[^>]*?(gif|jpg|jpeg|bmp|bmp))(""{1}|'{1}|)(?<Attributes2>[\s\S]*?)>";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regStr, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.MatchCollection mc = reg.Matches(text);
foreach (System.Text.RegularExpressions.Match m in mc)
{
string filename = m.Groups["picture"].Value;
/*
if (filename.Length > 7 && filename.Substring(0, 7).ToLower() == "http://")
break; //http方式有可能是网络的,这里不删除
if (filename.Length > 5 && filename.Substring(0, 4).ToLower() == "www.")
break;//www.开头的,也是网络的,这里不删除
*/
if (filename.Substring(0, 1) == "/")
filename = Server.MapPath("~"+filename);
else if(filename.Substring(0,1)=="~")
filename = Server.MapPath(filename);
else
filename = Server.MapPath("~/"+filename);

if (System.IO.File.Exists(filename))
{
System.IO.File.SetAttributes(filename, System.IO.FileAttributes.Normal);
System.IO.File.Delete(filename);
}

}


}
空心兜兜 2009-01-04
  • 打赏
  • 举报
回复
文章编辑器不行,实现不了的

存储图片路径,这样删除容易点


Fibona 2009-01-04
  • 打赏
  • 举报
回复
void delImg(string text)
{
string regStr=@"<img(?<Attributes1>[\s\S]*?)src=(""{1}|'{1}|)(?<picture>[^\[^>]*?(gif|jpg|jpeg|bmp|bmp))(""{1}|'{1}|)(?<Attributes2>[\s\S]*?)>";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regStr, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.MatchCollection mc = reg.Matches(text);
foreach (System.Text.RegularExpressions.Match m in mc)
{
string filename=m.Groups["picture"].Value;
if (System.IO.File.Exists(filename))
{
System.IO.File.SetAttributes(filename, System.IO.FileAttributes.Normal);
System.IO.File.Delete(filename);
}

}


}
yanlan112 2009-01-04
  • 打赏
  • 举报
回复
提供个思路

读出文章中的IMG标签的SRC的值

读出文件名,再用FILE类的方法判断IMAGES目录里有没有那个文件,如果有就KILL它,哈哈
如果没有,那就证明图片没有在服务器,仅仅是连接到别的网站的图片
就没有必要KILL了

前提是所有图片都在IMAGES目录
旺旺 2009-01-04
  • 打赏
  • 举报
回复
在线等呢?

没有人帮我吗?

急啊。。。。
旺旺 2009-01-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 heyu1000 的回复:]
将图片的存放路径放到一个字段当中,然后删除文章记录的时候,将这个字段信息取出来然后删除
[/Quote]
是啊。。。文章是用在线编辑器发表的,不知道如何取出图片的路径。。。。郁闷。。。。

[Quote=引用 1 楼 HDNGO 的回复:]
正则表达式~~
[/Quote]
正则表达式怎样啊?我是新手来的,能教教我吗?
xierfly 2009-01-04
  • 打赏
  • 举报
回复
1楼的方法行不通,估计是没有理解lz的意思。
这种方法,用 2 楼说的正则表达式会好点。正则不会,顶一下吧。
HDNGO 2009-01-04
  • 打赏
  • 举报
回复
正则表达式~~
heyu1000 2009-01-04
  • 打赏
  • 举报
回复
将图片的存放路径放到一个字段当中,然后删除文章记录的时候,将这个字段信息取出来然后删除

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧