标题:将获取的图片转base64字符串
只看楼主
aroffice
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-9-23
结帖率:92.31%
已结贴  问题点数:20 回复次数:6 
将获取的图片转base64字符串
一处代码需要将通过WinHttp.WinHttpRequest.5.1控件中POWINHTTP.RESPONSEBODY获取的图片再次转发出去,对方接收的是图片base64字符串,如何处理?
转发图片.rar (1005 Bytes)
PUBLIC YZMZF,YZMTPZF
CLEAR
DECLARE Sleep IN kernel32 INTEGER dwMilliseconds


POWINHTTP = CREATEOBJECT("WinHttp.WinHttpRequest.5.1")
POWINHTTP.SETTIMEOUTS(0,3000,3000,3000)
POWINHTTP.OPTION(0)="Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0)"
POWINHTTP.OPEN("GET", "https://base., .F.) && 读取验证码
POWINHTTP.SEND()

IF POWINHTTP.STATUS = 200

    YZMTPZF=POWINHTTP.RESPONSEBODY
    &&&&&& 需要将此处获取到的验证码图片转为base64字符串转发出去
   
    DELETE FILE YZMTP.JPG
    STRTOFILE(YZMTPZF,"yzmtp.jpg")
    OFORM1=NEWOBJECT("form1")
    OFORM1.IMAGE1.PICTUREVAL=YZMTPZF && 更新验证码图片
    OFORM1.REFRESH

    OFORM1.SHOW
    ?YZMZF
   
ENDIF




DEFINE CLASS FORM1 AS FORM

    TOP = 0
    LEFT = 0
    HEIGHT =54
    WIDTH = 220
    SHOWWINDOW = 1
    DOCREATE = .T.
    CAPTION = "请输入验证码"
    WINDOWTYPE = 1
    NAME = "form1"
    ALWAYSONTOP=.T.
    AUTOCENTER=.T.
    BORDERSTYLE=0
    CLOSABLE=.F.
    CONTROLBOX=.F.

    ADD OBJECT IMAGE1 AS IMAGE WITH ;
        TOP = 3, ;
        LEFT = 3, ;
        HEIGHT = 46, ;
        WIDTH = 120, ;
        PICTUREVAL=YZMTPZF,;
        STRETCH=1,;
        NAME="Image1"

    ADD OBJECT TEXT1 AS TEXTBOX WITH ;
        TOP = 3, ;
        LEFT = 123, ;
        HEIGHT = 40, ;
        WIDTH = 60, ;
        ENABLED = .T., ;
        FONTSIZE=12,;
        MAXLENGTH=5,;
        NAME = "text1"

    PROCEDURE TEXT1.KEYPRESS
    LPARAMETERS NKEYCODE, NSHIFTALTCTRL

    IF NKEYCODE=13 THEN
        m.YZMZF=ALLTRIM(THISFORM.TEXT1.VALUE)
        THISFORM.RELEASE
    ENDIF

ENDDEFINE

[此贴子已经被作者于2022-6-17 08:56编辑过]

搜索更多相关主题的帖子: 验证码 字符串 获取 图片 TEXT1 
2022-06-17 08:53
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
STRCONV()转换
2022-06-17 10:22
aroffice
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-9-23
得分:0 
回复 2楼 吹水佬
好像不行样,这个是需要转成图片base64的
2022-06-17 10:41
aroffice
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2011-9-23
得分:0 
或者将获取到的图片保存为本地文件,然后再上传转发如何写代码呢?
2022-06-17 11:23
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
好象与base64无关,直接保存就可以
STRTOFILE(POWINHTTP.RESPONSEBODY,"C:/TEMP/test/tmp.png")
2022-06-17 17:04
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
转发base64串用STRCONV(... , 13)
2022-06-17 17:06
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:20 
STRCONV(STRCONV(POWINHTTP.RESPONSEBODY,13), 15)
2022-06-17 18:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509363-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049640 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved