如何获取mysql中的图片路径_从数据库中的新闻字段中获取第一个图片路径

今天给别人修改一个项目,我相这是程序员同志们最烦的事情啦,特别是在别人设计不合理,代码书写不规范的情况下,更是痛不欲生,很不幸这个项目就是一个失败中的典型,废话少说,言归正传,因为数据库设计不合理的原因,所以必须要在前台新闻字段(也就是text类型,通过新闻编辑器向里插入的html代码)取出第一个图片的图片路径,实现方法有两种,一种是可能sql的字符串函数来获取,当然还有一种最为方便、简单、快捷的方法,那就是通过.net的正则表达式。

方法一 sql法

因为这是个项目是修改项目,所以很多东西不能动原有的代码,所以在获取新闻字段图片的时候只有用第一种sql的方式,但这样做可大大降低查询的效率,特别是在数据量大的时候,会出现很大问题,不过不幸中的万幸是这个项目的数据量不会太多,经多次调试终于写出了一个相对比较不容易出错的sql语句:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png代码

selectsubstring(substring(substring((substring((convert(char(1000),brief)),(charindex('

写完之后一看眼睛都花了,思路是这样的:

先从新闻字段的中获取第一个"

(假如字段值是

再从取出后的字符串获取"src="标签的位置并取其后的字符串,以确定后一个字符开始就是图片的路径了

(裁取之后的内容为:1.jpg">

现在要做的就是裁掉“"”之后的字符串

(于是就得出1.jpg)

虽然图片是获取出来了,但我对其速度相当的不满意,在此希望高人指点一二,如何更高速有效的通过sql获取其字段的图片路径。

方法二:.net 正则表达式法

当然这一种方法没得说,.No1,

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png代码

//取出图片路径MatchCollection mc;

Regex r=newRegex(@"

mc=r.Matches("这里填写你要找的HTML代码 赋值给一个字符串");for(inti=0;i

{//mc[i]就是图片路径了}

当然这个正则表达式也可能存一些或大或小的bug,希望大家多多指点。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL数据库存放图片有两种常见的方法。第一种方法是将图片保存的路径存储到数据库。这意味着在数据库创建一个字段来存储图片路径,而实际的图片文件则保存在服务器的文件系统。通过在数据库存储图片路径,可以轻松地在应用程序引用和显示图片。第二种方法是将图片以二进制数据流的形式直接写入数据库字段。这意味着在数据库创建一个字段来存储图片的二进制数据,而不是保存图片路径。通过将图片以二进制数据流的形式存储在数据库,可以更方便地管理和备份图片数据。选择哪种方法取决于具体的应用需求和性能考虑。\[1\] #### 引用[.reference_title] - *1* [mysql存储图片](https://blog.csdn.net/weixin_53370274/article/details/121942385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [MySQL如何存储图片](https://blog.csdn.net/WYL2724/article/details/7558912)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值