System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及图片转存领域,具体而言,涉及邮件外链图片转存方法、系统和介质。
技术介绍
1、电子邮件作为一种现代通信工具,具有传递快速、成本低、全球覆盖、便于存档等优点,因此邮件通讯一直以来都被人们所青睐,也是现代社会最常见的通讯方式。由于不同用户的不同需要,电子邮件不止涉及到文字信息,同样还包括了图片、文件等信息,在撰写邮件时人们经常将含有图片的html文本粘贴到邮件正文中,由于html文本中的图片链接一般都会采用外链形式,邮件正文中包含外链图片时很容易出现无法访问的现象,或者是粘贴时能正常显示,但是邮件发送出去后,收信方无法显示外链图片。
2、针对上述问题,目前亟待有效的技术解决方案。
技术实现思路
1、本申请的目的在于提供邮件外链图片转存方法、系统和介质,通过获取邮箱登录状态信息后监控浏览器的网络请求信息,同时获取剪切板信息并根据img图片标签信息添加事件监听器,通过事件监听器获得外链图片的加载状态信息并进一步获得网络请求信息,判断图片的加载来源模式,根据不同的加载来源模式对应获得不同的图片处理方式并将图片下载至本地缓存路径,将图片来源更新为本地缓存路径并转换为内联图片后发送邮件。通过判断图片的来源模式,采用不同方式将图片下载至本地缓存路径,并更新图片来源的方式,实现了邮件外链图片转存的技术。
2、本申请还提供了邮件外链图片转存方法,包括以下步骤:
3、获取邮箱登录状态信息,根据邮箱登录状态信息初始化预设外链图片转存模型,并监控浏览器的网络请求
4、获取剪切板信息,根据剪切板信息对应获得img图片标签信息,并添加事件监听器;
5、通过所述事件监听器获得外链图片的加载状态信息,根据加载状态信息获得所述网络请求信息;
6、判断所述外链图片的加载来源模式,根据加载来源模式对应获得外链图片处理方式并获得外链图片的本地缓存路径;
7、将所述外链图片来源更新为所述本地缓存路径,并转换为内联图片;
8、根据用户需求发送邮件。
9、可选地,在本申请所述的邮件外链图片转存方法中,所述获取邮箱登录状态信息,根据邮箱登录状态信息初始化预设外链图片转存模型,并监控浏览器的网络请求信息,具体包括:
10、获取邮箱登录状态信息,包括已登录和未登录;
11、判断所述邮箱登录状态,若为已登录,则初始化预设外链图片转存模型并在前端开发框架主进程中调用同步执行,开启网络监控;
12、所述网络监控监控浏览器的网络请求信息,若所述网络请求信息为网络收到请求响应,则获得请求id编号;
13、根据所述请求id编号对应获得请求响应报文。
14、可选地,在本申请所述的邮件外链图片转存方法中,所述获取剪切板信息,根据剪切板信息对应获得img图片标签信息,并添加事件监听器,具体包括:
15、获取剪切板信息,并输入邮件编辑器中获得超文本标记语言信息;
16、通过正则表达式判断所述超文本标记语言信息中是否包含img图片标签信息;
17、若包含,则添加事件监听器,包括onload和onerror。
18、可选地,在本申请所述的邮件外链图片转存方法中,所述通过所述事件监听器获得外链图片的加载状态信息,根据加载状态信息获得所述网络请求信息,具体包括:
19、通过所述事件监听器获得外链图片的加载状态信息,包括加载成功和加载失败;
20、若所述加载状态信息为加载成功,则onload监听器启动所述网络监控;
21、所述网络监控获得浏览器的网络请求信息。
22、可选地,在本申请所述的邮件外链图片转存方法中,所述所述判断所述外链图片的加载来源模式,根据加载来源模式对应获得外链图片处理方式并获得外链图片的本地缓存路径,具体包括:
23、通过预设邮件外链图片转存模型检测判断外链图片的加载来源模式;
24、所述加载来源模式包括外链网址模式、防外链网址模式以及外链cookie模式;
25、根据所述加载来源模式对应获得外链图片处理方式;
26、根据所述外链图片处理方式获得所述外链图片的本地缓存路径。
27、可选地,在本申请所述的邮件外链图片转存方法中,还包括:
28、若所述加载来源模式为外链网址模式,则获取外链图片的网络路径信息和二进制数据流信息;
29、将所述二进制数据流保存至本地缓存目录获得本地缓存路径;
30、在全局变量图谱中建立所述网络路径与所述本地缓存路径的映射关系;
31、将所述img图片标签信息发送至所述前端开发框架主进程;
32、所述前端开发框架主进程根据所述映射关系查找获得所述地缓存路径。
33、可选地,在本申请所述的邮件外链图片转存方法中,还包括:
34、若所述加载来源模式为防外链网址模式,则获取剪切板信息;
35、通过所述前端开发框架和封装节点组件获得所述剪切板信息中的超文本标记语言、原始二进制数据以及来源网址对应的原始网址信息;
36、构造http请求头,并将来源网址作为referer附加到http请求头生成访问请求;
37、根据所述访问请求访问原始图片信息,并下载原始图片至本地缓存路径。
38、可选地,在本申请所述的邮件外链图片转存方法中,还包括:
39、若所述防外链网址模式下载图片失败,则获取浏览器的cookie存储路径信息和cookie数据库信息;
40、通过卷影复制模型复制所述cookie数据库信息为图片数据库;
41、通过sqlite获得所述图片数据库中的cookie键值对;
42、根据所述cookie键值对和所述referer访问原始图片并下载至所述本地缓存路径。
43、第二方面,本申请提供了邮件外链图片转存系统,该系统包括:存储器及处理器,所述存储器中包括邮件外链图片转存方法的程序,所述邮件外链图片转存方法的程序被所述处理器执行时实现以下步骤:
44、获取邮箱登录状态信息,根据邮箱登录状态信息初始化预设外链图片转存模型,并监控浏览器的网络请求信息;
45、获取剪切板信息,根据剪切板信息对应获得img图片标签信息,并添加事件监听器;
46、通过所述事件监听器获得外链图片的加载状态信息,根据加载状态信息获得所述网络请求信息;
47、判断所述外链图片的加载来源模式,根据加载来源模式对应获得外链图片处理方式并获得外链图片的本地缓存路径;
48、将所述外链图片来源更新为所述本地缓存路径,并转换为内联图片;
49、根据用户需求发送邮件。
50、第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中包括邮件外链图片转存方法程序,所述邮件外链图片转存方法本文档来自技高网...
【技术保护点】
1.一种邮件外链图片转存方法,其特征在于,包括:
2.根据权利要求1所述的邮件外链图片转存方法,其特征在于,所述获取邮箱登录状态信息,根据邮箱登录状态信息初始化预设外链图片转存模型,并监控浏览器的网络请求信息,具体包括:
3.根据权利要求2所述的邮件外链图片转存方法,其特征在于,所述获取剪切板信息,根据剪切板信息对应获得img图片标签信息,并添加事件监听器,具体包括:
4.根据权利要求3所述的邮件外链图片转存方法,其特征在于,所述通过所述事件监听器获得外链图片的加载状态信息,根据加载状态信息获得所述网络请求信息,具体包括:
5.根据权利要求4所述的邮件外链图片转存方法,其特征在于,所述判断所述外链图片的加载来源模式,根据加载来源模式对应获得外链图片处理方式并获得外链图片的本地缓存路径,具体包括:
6.根据权利要求5所述的邮件外链图片转存方法,其特征在于,还包括:
7.根据权利要求6所述的邮件外链图片转存方法,其特征在于,还包括:
8.根据权利要求7所述的邮件外链图片转存方法,其特征在于,还包括:<
...【技术特征摘要】
1.一种邮件外链图片转存方法,其特征在于,包括:
2.根据权利要求1所述的邮件外链图片转存方法,其特征在于,所述获取邮箱登录状态信息,根据邮箱登录状态信息初始化预设外链图片转存模型,并监控浏览器的网络请求信息,具体包括:
3.根据权利要求2所述的邮件外链图片转存方法,其特征在于,所述获取剪切板信息,根据剪切板信息对应获得img图片标签信息,并添加事件监听器,具体包括:
4.根据权利要求3所述的邮件外链图片转存方法,其特征在于,所述通过所述事件监听器获得外链图片的加载状态信息,根据加载状态信息获得所述网络请求信息,具体包括:
5.根据权利要求4所述的邮件外链图片转存方法,其特征在于,所述判断所述外链图片的加载来源模式,根据加载来源模式对应获得外链...
【专利技术属性】
技术研发人员:杨良志,白琳,汪志新,方跃涵,铁喜光,
申请(专利权)人:彩讯科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。