我正在尝试检索下载网址,以便可以在我正在调用的函数中以承诺方式将其传递下来。
在存储映像中已上载,但不知何故我在console.log的行上遇到了错误-像它这样的404错误不存在(但确实存在)
Sub getimage()
Dim current As Workbook
Dim sht As Worksheet
Dim a, b, strUrl As String
Dim count As Variant
Set current = ActiveWorkbook
For Each sht In current.Worksheets
On Error Resume Next
'Application.ScreenUpdating = False
Set HTTPReq = CreateObject("WinHttp.WinHttpRequest.5.1")
count = Range("A1", Range("A1").End(xlDown)).Rows.count
For i = 2 To count
a = CStr(Range("A" & i).Value)
HTTPReq.Open "GET", "link" & a, False
HTTPReq.send
'Debug.Print HTTPReq.ResponseText
Dim Json, item As Object
Set Json = JsonConverter.ParseJson(HTTPReq.ResponseText)
For Each item In Json
Debug.Print item("images")
sht.Cells(i, B) = item("image_id")("1")
sht.Cells(i, B) = item("image_id")("2")
next Item
Next i
'Application.ScreenUpdating = True
End If
Next sht
End Sub
如果您需要更多代码,请告诉我,但是在这一点上,我记录错误是问题所在。
仅无法检索数据库中已发布图像的url,我尝试了存储规则,但一切看起来都很好。
编辑:state_changed侦听器的状态不会更改-在图像存储在存储中的整个过程中,它始终处于“上传”状态
答案 0 :(得分:0)
在请求下载URL之前,您似乎并没有等待上传完全完成。这通常是404对此类代码的含义。您必须使用storageRef.child(filePath).put(file,metadata)
返回的promise才能知道上传何时完成,只有这样,您才能成功调用getDownloadURL()
作为参考。