【发布时间】:2020-06-24 23:59:02
【问题描述】:
我正在使用经典的 asp 和 JSON 将 html 转换为 pdf。我使用以下方式发送请求:
''Convert output to pdf
varURL = "https://" & varServerLive & "/import/" & fileName
postURL = "https://v2.convertapi.com/convert/htm/to/pdf?Secret=SECRET_KET&File=" & varURL & "&StoreFile=true"
parmToSend = "{""Parameters"":[{""Name"":""File"",""FileValue"":{""url"": """ & varURL & """}}," & _
"{""Name"":""WebHook"",""Value"":""" & varURL & """}" & _
"]}"
Set ServerXmlHttp = Server.CreateObject("MSXML2.XMLHTTP.6.0")
ServerXmlHttp.open "POST", postURL
ServerXmlHttp.setRequestHeader "Accept", "application/json"
ServerXmlHttp.setRequestHeader "Content-Type", "application/json"
ServerXmlHttp.send parmToSend
''Get response
responseText = ServerXmlHttp.responseText
response.write(responseText)
set myJson = JSON.parse(responseText)
varFileUrl = myJson.Files.Url
response.write(varFileUrl)
我收到以下回复:
响应文本:
{"ConversionCost":2,"Files":[{"FileName":"54-25062020177.pdf","FileExt":"pdf","FileSize":48596,"FileId":"542c6f079fe5722bdbac2f73f84652d3","Url":"https://v2.convertapi.com/d/542c6f079fe5722bdbac2f73f84652d3/54-25062020177.pdf"}]}
这一切都很好,但是当我尝试返回 fileURL 时出现错误:
Microsoft VBScript 运行时错误“800a01b6”
对象不支持此属性或方法:'url'
/docs/members/cert.asp,第 122 行
您看到没有返回 url 的任何原因吗?我是否正确调用了 url(例如 myJson.Files.Url)?
任何帮助将不胜感激。
【问题讨论】:
-
这是因为
Files是一个数组,所以您需要指定数组中的哪个对象,您将获得Url属性。你用的是什么 JSON 解析器? -
有趣的是,您返回的响应数据似乎与 your last question 不同。就个人而言,更喜欢在响应中返回 Base64 数据的请求,因为此方法将需要另一个 HTTP 调用来从 Url 获取文件,这似乎是一个毫无意义的步骤。
-
是的,我已经更改了返回创建 pdf 的 thr url 而不是 fileData 的请求。
-
我使用这个 json 文件作为包含,我在整个 asp 应用程序中使用这个文件没有问题。 gbca.org.au/global/json2.min.asp
-
我正在使用 myJson.Files.Url 来获取 url?这应该返回是吗?
标签: json parsing asp-classic convertapi