簡體   English   中英

firebase Google Cloud Storage下載URL的文件夾名稱變為文件名

[英]firebase Google Cloud storage download URL has folder name which becomes file name

我們正在使用Firebase Google Cloud Storage Bucket存儲文件。

當登錄的用戶想要下載文件時,該文件保存在某個文件夾中,例如:123 / admin / 1469611803143 / 123.xlsx

生成的網址將為https://firebasestorage.googleapis.com/v0/b/MYWEBSITE.appspot.com/o/123%2Fadmin%2F1469611803143%2F123.xlsx?alt=media&token=whatever_alpa_numeric_token

當我下載此文件時,文件名將為123%2Fadmin%2F1469611803143%2F123.xlsx

而不是123.xlsx

我們嘗試使用下載屬性更改文件名

但這並未將文件名更改為123.xlsx

請幫忙

我對firebase相當陌生,但是我通過以下代碼實現了這一點:

var storageRef = firebase.storage().ref();
var child = storageRef.child("your path");
var uploadTask = child.put(<file>);

uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED,
function(snapshot){
// HANDLE TASK PROGRESS
},
function(error){
// HANDLE ERROR
},
function(){
// UPLOAD SUCCESSFULL
  var newMetadata = {
    contentDisposition : "attachment; filename=" + fileName
  }
  child.updateMetadata(newMetadata)
})  

這是(不幸或不幸的是)預期的行為。 從技術上講,Firebase Storage中的文件以完整路徑存儲(因此123%2Fadmin%2F1469611803143%2F123.xlsx實際上是文件名-斜杠和百分號轉義是名稱的一部分,並且僅在UI),這就是我們獲得此行為的方式。

將來我們可能會修改下載的工作方式(因為我們會截斷名稱),但是我們一直在忙於修復其他錯誤並優化優先級更高的片段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM