无法从Firebase存储中检索下载URL

时间:2019-07-04 09:49:10

标签: reactjs firebase firebase-storage

我正在尝试检索下载网址,以便可以在我正在调用的函数中以承诺方式将其传递下来。

在存储映像中已上载,但不知何故我在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侦听器的状态不会更改-在图像存储在存储中的整个过程中,它始终处于“上传”状态

1 个答案:

答案 0 :(得分:0)

在请求下载URL之前,您似乎并没有等待上传完全完成。这通常是404对此类代码的含义。您必须使用storageRef.child(filePath).put(file,metadata)返回的promise才能知道上传何时完成,只有这样,您才能成功调用getDownloadURL()作为参考。