求助改写个方法

[复制链接]
查看11 | 回复9 | 2021-1-27 06:23:19 | 显示全部楼层 |阅读模式
以下为需要改写的方法,如果imgPath传的是图片网址,这个方法改怎么写?
PublicFunctionRTS_UpdateImageData_m(ByValimgPathAsString)AsLong
Dimupdatedata()AsByte
DimwritelenAsLong
'DimimgPathAsString
'imgPath="c:\\01.jpg"
DimMstAsADODB.Stream
'----------------------------------------
SetMst=NewADODB.Stream
Mst.Type=adTypeBinary'二进制类型
Mst.Open
Mst.LoadFromFileimgPath'加载图片,imgPath为图片路径
'----------------------------------------
updatedata=Mst.Read'读取文件流
writelen=UBound(updatedata)-LBound(updatedata)+1'获取数组的长度
RTS_UpdateImageData_m=RTS_UpdateImageData(VarPtr(updatedata(0)),writelen)
EndFunction

分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:23:19 | 显示全部楼层



回复

使用道具 举报

千问 | 2021-1-27 06:23:19 | 显示全部楼层
稍微改改应该就可以了吧?------不知是不是可以直接使用网络地址,没这样用过。
加入不能直接使用网络地址:
增加一个对imgPath的判断,如果是网络地址就用urldownloadtofile函数下载到本地,然后引用本地的地址即可。
回复

使用道具 举报

千问 | 2021-1-27 06:23:19 | 显示全部楼层
引用2楼Topc008的回复:稍微改改应该就可以了吧?------不知是不是可以直接使用网络地址,没这样用过。
加入不能直接使用网络地址:
增加一个对imgPath的判断,如果是网络地址就用urldownloadtofile函数下载到本地,然后引用本地的地址即可。

不能直接使用网络地址,判断不需要增加,imgPath肯定是网络地址,就是想求助改造成直接可以用的。
回复

使用道具 举报

千问 | 2021-1-27 06:23:19 | 显示全部楼层
搜urldownloadtofile函数
回复

使用道具 举报

千问 | 2021-1-27 06:23:19 | 显示全部楼层
先下载下来。保存为本地文件,再存到数据库。
回复

使用道具 举报

千问 | 2021-1-27 06:23:19 | 显示全部楼层
先下载下来吧

回复

使用道具 举报

千问 | 2021-1-27 06:23:19 | 显示全部楼层
使用picture加载网络图片。然后保存PICTURE中的图片到本地即可。在读取写到数据库
回复

使用道具 举报

千问 | 2021-1-27 06:23:19 | 显示全部楼层



回复

使用道具 举报

千问 | 2021-1-27 06:23:19 | 显示全部楼层
这样不行,如果存储图片路径,在数据表必须增加一个字段,比如路径,文本类型,大小100字节足矣,然后将图片路径存储在路径字段,如果是存储二进制图片,路径字段为空。
在程序中判断路径是否为空,如果空,或不空使用判断语句,调用不同的图片加载方法:
DimcnAsNewADODB.Connection,RSAsNewADODB.Recordset
'不知道你的数据库连接与数据表连接,这部分代码略
IfRS!路径=""Then
'你读取二进制数据并显示图片的代码
ElseIfRS!路径""Then
DimLUJAsString
LUJ=RS!路径
Image1.Picture=LoadPicture(LUJ)
'Image1是显示图片的控件名称
EndIf
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行