【问题标题】:geturl powerbuilder 10, not giving expected resultgeturl powerbuilder 10,没有给出预期的结果
【发布时间】:2013-11-15 00:27:12
【问题描述】:

我正在使用来自 google api 网页的 QR 码生成器,并尝试下载由传递的数据生成的 QR 图像。

我的问题是,如果我将 URL 放入浏览器(已尝试使用 Chrome 和 IE,并且可以正常工作),我会得到预期的 QR 图像,我可以使用其中的“另存为”命令下载,就可以了。但是当我使用相同的 URL,并使用 powerbuilder 中的 GetURL 函数传递它时,显示的 QR 码与我直接使用浏览器得到的不同。

网址是:(这是一个例子或者是要传递的网址。每次调用的参数字符串chl都会不同。这是一个字符串,需要有以下格式:

?re=XAXX010101000&rr=XAXX010101000&tt=1234567890.123456&id=ad662d33-6934-459c-a128-BDf0393f0f44强>

是会改变的粗体字符。 )

https://chart.googleapis.com/chart?cht=qr&chs=480x480&chl=%3Fre%3DXAXX010101000%26rr%3DXAXX010101000%26tt%3D1234567890.123456%26id%3Dad662d33-6934-459c-a128-BDf0393f0f44&choe=UTF-8&chld=M|5

扫描后的 QR 码结果仅返回“?re=XAXX010101000”部分作为已编码,字符串的其余部分显示为未“编码”。如果我更改字符串的这一部分,它会反映更改,但字符串的其余部分显示为未收到。

我用来测试的代码是:(mle_urlcbb 是我用来存储 URL 的控件,但在生产中它会即时构建)

Integer li_rc
String ls_filename

SetPointer(HourGlass!)
li_rc = iinet_base.GetURL(mle_urlcbb.text, in_irdata)
IF li_rc = 1 THEN
    ls_filename = "C:\TEST\CBB.PNG"
    in_irdata.of_WriteFile(ls_filename, in_irdata.iblob_data)
    MessageBox("Success", "CBB File Successfully downloaded")
ELSE
   MessageBox("Error", "Get CBB Failed")
END IF

我不知道有什么问题,

感谢您的回答和/或建​​议。

问候....

里卡多

【问题讨论】:

  • 您需要在 InternetResult 的 data 方法和 of_WriteFile 中显示您拥有的代码。

标签: powerbuilder geturl


【解决方案1】:

有一个明显的问题,您正在使用 GetURL,然后尝试将互联网结果立即保存到文件中。这是一个常见的错误,实际上我第一次尝试使用 inet 对象时犯了同样的错误,因为我不习惯 PowerBuilder 中的异步处理。

InternetResult 对象充当缓冲区,接收和缓存异步数据,因为它使用 Internet 返回以响应 GetURL 和 PostURL 函数调用。 InternetResult 对象还提供处理此数据的能力。

您现在对其进行编码的方式可能在某些时候有效,但不会一直有效,因为加载时间可能不是瞬时的。您需要做的就是将写入结果的代码从现在的位置移动到 internetdata nvo 的“internetresult”事件。

所以.. 在继承 internetresult 的用户对象的“internetdata”事件中,您可以在此处获取结果页面数据,例如:

// in your non visual that inherited from internetresult put code in the internetdata event to capture the resultant page AFTER it is done loading. :)
string ls_data
ls_data =  String(data,EncodingANSI!)
... then write your file


RETURN 1

【讨论】:

    猜你喜欢
    • 2020-05-29
    • 1970-01-01
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 2021-01-06
    • 2018-12-08
    相关资源
    最近更新 更多